Caption: by Author
Welcome to "Military Power Clustering Project". In this project, we employ machine learning clustering techniques to analyze and categorize countries based on their Military Strength Power Index. By evaluating various military, financial, logistical,natural resources, man power and geographical parameters, we aim to uncover patterns in global defense capabilities and provide insights into military power distribution.
Unsupervised Learning Method
Unsupervised learning is a machine learning approach where algorithms analyze data without labeled outputs, allowing them to detect hidden patterns and structures within datasets. Unlike supervised learning, which relies on predefined categories, unsupervised methods explore intrinsic relationships in data and group similar entities based on shared characteristics.
Clustering in Military Strength Analysis
In your project, clustering is an unsupervised technique that categorizes countries based on their Military Strength Power Index. Instead of predefined classes, the model finds natural groupings among nations by analyzing military, financial, logistical, and geographical metrics.
Key aspects of unsupervised clustering:
Common clustering algorithms that could be applied in your analysis include:
NOTE: This project assumes that you already know the basics of coding in Python and are familiar with model deployement as well as the theory behind Clustering. You can try more models and methods beside these to improve your model metrics.
First of all, to observe the structure of the data, missing values and features that affect the clustering, you must use exploratory data analysis and data visualization techniques.
The purpose of clustering analysis is to cluster data with similar characteristics. You are asked to use the K-means and hierarchical algorithms to make cluster analysis. Also, the data you apply to the K-means algorithm must be scaled. In order to find the optimal number of clusters, you are asked to use the Elbow and silhouette analysis methods.
Exploratory Data Analysis
Data Pre-Processing
Cluster Analysis
The data set is on https://data.world/vizzup/world-military-power/workspace/file?filename=World+military+power.xlsx The data set has 138 samples. Explanation of Key Metrics:
#pip install openpyxl
# importing libraries for data handling and analysis
import pandas as pd
pd.set_option('display.max_columns', 200)
pd.set_option('display.max_rows', 150)
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
# importing libraries for warnings
import warnings
from sklearn.exceptions import ConvergenceWarning
warnings.filterwarnings("ignore", category=UserWarning, module="sklearn.cluster._kmeans")
warnings.filterwarnings("ignore", category=DeprecationWarning)
warnings.filterwarnings("ignore", category=FutureWarning)
warnings.filterwarnings("ignore", message="The figure layout has changed to tight", category=UserWarning)
import os
os.environ["OMP_NUM_THREADS"] = "1"
# importing libraries for data visualisations
import plotly
import plotly.express as px
import plotly.figure_factory as ff
import plotly.graph_objects as go
%matplotlib inline
# sklearn modules for preprocessing and clustering
from sklearn.preprocessing import StandardScaler, RobustScaler,MinMaxScaler
from sklearn.cluster import KMeans
from pyclustertend import hopkins
from yellowbrick.cluster import KElbowVisualizer
from sklearn.metrics import silhouette_score
from scipy.cluster.hierarchy import dendrogram, linkage
from sklearn.cluster import AgglomerativeClustering
df = pd.read_excel("World military power.xlsx",header=[0,1]) # because of multyindex.
df.head()
# the smaller the power index, the more powerful a nation's conventional fighting capabilities.
| 2020 ranking | Airforce Strength | Land Strength | Navy Strength | Finances | Logistics | Natural resources | Manpower | Geography | ||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Military Strength | Military Strength Power Index | Aircraft Strength | Aircraft Strength value | Fighter/Interceptor Strength | Fighter/Interceptor Strength value | Attack Aircraft Strength | Attack Aircraft Strength value | Transport Aircraft Fleet Strength | Transport Aircraft Fleet Strength value | Trainer Aircraft Fleet | Trainer Aircraft Fleet value | Helicopter Fleet Strength | Helicopter Fleet Strength value | Attack Helicopter Fleet Strength | Attack Helicopter Fleet Strength value | Tank Strength | Tank Strength value | AFV/APC Strength | AFV/APC Strength value | Self-Propelled Artillery Strength | Self-Propelled Artillery Strength value | Towed Artillery Strength | Towed Artillery Strength value | Rocket Projector Strength | Rocket Projector Strength value | Navy Fleet Strengths | Navy Fleet Strengths value | Aircraft Carrier Fleet Strength | Aircraft Carrier Fleet Strength value | Submarine Fleet Strength | Submarine Fleet Strength value | Destroyer Fleet Strength | Destroyer Fleet Strength value | Frigate Fleet Strength | Frigate Fleet Strength value | defense spending budget | defense spending budget value | External Debt | External Debt value | Airport Totals | Airport Totals value | Oil Production | Oil Production value | Oil Consumption | Oil Consumption value | Proven Oil Reserves | Proven Oil Reserves value | Available Manpower | Available Manpower value | Total Population | Total Population value | Total Square Land Area | Total Square Land Area value | Total Coastline Coverage | Total Coastline Coverage value | Total Waterway Coverage | Total Waterway Coverage value | Total Border Coverage | Total Border Coverage value | |
| 0 | Afghanistan | 1.3444 | Afghanistan | 260 | Afghanistan | 0 | Afghanistan | 25 | Afghanistan | 30 | Afghanistan | 0 | Afghanistan | 187 | Afghanistan | 0 | Afghanistan | 0 | Afghanistan | 1062 | Afghanistan | 0 | Afghanistan | 176 | Afghanistan | 50 | Afghanistan | 0.0 | Afghanistan | 0.0 | Afghanistan | 0.0 | Afghanistan | 0.0 | Afghanistan | 0.0 | Afghanistan | 12,00,00,00,000 | Afghanistan | 2,84,00,00,000 | Afghanistan | 43 | Afghanistan | 0 | Afghanistan | 5500 | Afghanistan | 0 | Afghanistan | 1,43,25,743 | Afghanistan | 3,49,40,837 | Afghanistan | 6,52,230 | Afghanistan | 0 | Afghanistan | 1200 | Afghanistan | 5987.0 |
| 1 | Albania | 2.3137 | Albania | 19 | Albania | 0 | Albania | 0 | Albania | 0 | Albania | 0 | Albania | 19 | Albania | 0 | Albania | 0 | Albania | 467 | Albania | 0 | Albania | 0 | Albania | 0 | Albania | 38.0 | Albania | 0.0 | Albania | 0.0 | Albania | 0.0 | Albania | 0.0 | Albania | 25,00,00,000 | Albania | 9,50,50,00,000 | Albania | 4 | Albania | 16000 | Albania | 42500 | Albania | 16,83,00,000 | Albania | 15,19,438 | Albania | 30,57,220 | Albania | 28748 | Albania | 362 | Albania | 41 | Albania | 691.0 |
| 2 | Algeria | 0.4659 | Algeria | 551 | Algeria | 103 | Algeria | 22 | Algeria | 59 | Algeria | 87 | Algeria | 257 | Algeria | 45 | Algeria | 880 | Algeria | 7361 | Algeria | 320 | Algeria | 240 | Algeria | 316 | Algeria | 201.0 | Algeria | 0.0 | Algeria | 6.0 | Algeria | 0.0 | Algeria | 5.0 | Algeria | 13,00,00,00,000 | Algeria | 6,26,00,00,000 | Algeria | 157 | Algeria | 13,06,000 | Algeria | 3,25,000 | Algeria | 12,20,00,00,000 | Algeria | 2,07,41,263 | Algeria | 4,16,57,488 | Algeria | 23,81,741 | Algeria | 998 | Algeria | 0 | Algeria | 6734.0 |
| 3 | Angola | 0.8379 | Angola | 295 | Angola | 72 | Angola | 18 | Angola | 30 | Angola | 47 | Angola | 126 | Angola | 15 | Angola | 379 | Angola | 595 | Angola | 28 | Angola | 357 | Angola | 115 | Angola | 57.0 | Angola | 0.0 | Angola | 0.0 | Angola | 0.0 | Angola | 0.0 | Angola | 7,00,00,00,000 | Angola | 42,08,00,00,000 | Angola | 176 | Angola | 16,66,000 | Angola | 82300 | Angola | 8,27,30,00,000 | Angola | 62,44,205 | Angola | 3,03,55,880 | Angola | 12,46,700 | Angola | 1600 | Angola | 1300 | Angola | 5369.0 |
| 4 | Argentina | 0.6521 | Argentina | 227 | Argentina | 24 | Argentina | 7 | Argentina | 9 | Argentina | 64 | Argentina | 100 | Argentina | 0 | Argentina | 370 | Argentina | 739 | Argentina | 83 | Argentina | 172 | Argentina | 26 | Argentina | 49.0 | Argentina | 0.0 | Argentina | 2.0 | Argentina | 4.0 | Argentina | 0.0 | Argentina | 4,20,00,00,000 | Argentina | 2,14,90,00,00,000 | Argentina | 1138 | Argentina | 4,79,400 | Argentina | 6,85,000 | Argentina | 2,18,50,00,000 | Argentina | 2,01,79,430 | Argentina | 4,46,94,198 | Argentina | 27,80,400 | Argentina | 4989 | Argentina | 11000 | Argentina | 11968.0 |
df.info()
<class 'pandas.core.frame.DataFrame'> RangeIndex: 138 entries, 0 to 137 Data columns (total 60 columns): # Column Non-Null Count Dtype --- ------ -------------- ----- 0 (2020 ranking, Military Strength) 138 non-null object 1 (2020 ranking, Military Strength Power Index) 138 non-null float64 2 (Airforce Strength, Aircraft Strength) 138 non-null object 3 (Airforce Strength, Aircraft Strength value) 138 non-null int64 4 (Airforce Strength, Fighter/Interceptor Strength) 138 non-null object 5 (Airforce Strength, Fighter/Interceptor Strength value) 138 non-null int64 6 (Airforce Strength, Attack Aircraft Strength) 138 non-null object 7 (Airforce Strength, Attack Aircraft Strength value) 138 non-null int64 8 (Airforce Strength, Transport Aircraft Fleet Strength) 138 non-null object 9 (Airforce Strength, Transport Aircraft Fleet Strength value) 138 non-null int64 10 (Airforce Strength, Trainer Aircraft Fleet) 138 non-null object 11 (Airforce Strength, Trainer Aircraft Fleet value) 138 non-null int64 12 (Airforce Strength, Helicopter Fleet Strength) 138 non-null object 13 (Airforce Strength, Helicopter Fleet Strength value) 138 non-null int64 14 (Airforce Strength, Attack Helicopter Fleet Strength) 138 non-null object 15 (Airforce Strength, Attack Helicopter Fleet Strength value) 138 non-null int64 16 (Land Strength, Tank Strength) 138 non-null object 17 (Land Strength, Tank Strength value) 138 non-null int64 18 (Land Strength, AFV/APC Strength) 138 non-null object 19 (Land Strength, AFV/APC Strength value) 138 non-null int64 20 (Land Strength, Self-Propelled Artillery Strength) 138 non-null object 21 (Land Strength, Self-Propelled Artillery Strength value) 138 non-null int64 22 (Land Strength, Towed Artillery Strength) 138 non-null object 23 (Land Strength, Towed Artillery Strength value) 138 non-null int64 24 (Land Strength, Rocket Projector Strength) 138 non-null object 25 (Land Strength, Rocket Projector Strength value) 138 non-null int64 26 (Navy Strength, Navy Fleet Strengths) 124 non-null object 27 (Navy Strength, Navy Fleet Strengths value) 124 non-null float64 28 (Navy Strength, Aircraft Carrier Fleet Strength) 115 non-null object 29 (Navy Strength, Aircraft Carrier Fleet Strength value) 115 non-null float64 30 (Navy Strength, Submarine Fleet Strength) 115 non-null object 31 (Navy Strength, Submarine Fleet Strength value) 115 non-null float64 32 (Navy Strength, Destroyer Fleet Strength) 115 non-null object 33 (Navy Strength, Destroyer Fleet Strength value) 115 non-null float64 34 (Navy Strength, Frigate Fleet Strength) 115 non-null object 35 (Navy Strength, Frigate Fleet Strength value) 115 non-null float64 36 (Finances, defense spending budget) 138 non-null object 37 (Finances, defense spending budget value) 138 non-null object 38 (Finances, External Debt) 138 non-null object 39 (Finances, External Debt value) 138 non-null object 40 (Logistics, Airport Totals) 138 non-null object 41 (Logistics, Airport Totals value) 138 non-null int64 42 (Natural resources, Oil Production) 138 non-null object 43 (Natural resources, Oil Production value) 138 non-null object 44 (Natural resources, Oil Consumption) 138 non-null object 45 (Natural resources, Oil Consumption value) 138 non-null object 46 (Natural resources, Proven Oil Reserves) 138 non-null object 47 (Natural resources, Proven Oil Reserves value) 138 non-null object 48 (Manpower, Available Manpower) 138 non-null object 49 (Manpower, Available Manpower value) 138 non-null object 50 (Manpower, Total Population) 138 non-null object 51 (Manpower, Total Population value) 138 non-null object 52 (Geography, Total Square Land Area) 138 non-null object 53 (Geography, Total Square Land Area value) 138 non-null object 54 (Geography, Total Coastline Coverage) 109 non-null object 55 (Geography, Total Coastline Coverage value) 109 non-null object 56 (Geography, Total Waterway Coverage) 138 non-null object 57 (Geography, Total Waterway Coverage value) 138 non-null object 58 (Geography, Total Border Coverage) 129 non-null object 59 (Geography, Total Border Coverage value) 129 non-null float64 dtypes: float64(7), int64(13), object(40) memory usage: 64.8+ KB
df.shape
(138, 60)
df.duplicated().sum()
0
df.isna().sum().any()
True
df.columns # Due to the MultiIndex structure, the column headers appear as tuples.
MultiIndex([( '2020 ranking', 'Military Strength'),
( '2020 ranking', 'Military Strength Power Index'),
('Airforce Strength', 'Aircraft Strength'),
('Airforce Strength', 'Aircraft Strength value'),
('Airforce Strength', 'Fighter/Interceptor Strength'),
('Airforce Strength', 'Fighter/Interceptor Strength value'),
('Airforce Strength', 'Attack Aircraft Strength'),
('Airforce Strength', 'Attack Aircraft Strength value'),
('Airforce Strength', 'Transport Aircraft Fleet Strength'),
('Airforce Strength', 'Transport Aircraft Fleet Strength value'),
('Airforce Strength', 'Trainer Aircraft Fleet'),
('Airforce Strength', 'Trainer Aircraft Fleet value'),
('Airforce Strength', 'Helicopter Fleet Strength'),
('Airforce Strength', 'Helicopter Fleet Strength value'),
('Airforce Strength', 'Attack Helicopter Fleet Strength'),
('Airforce Strength', 'Attack Helicopter Fleet Strength value'),
( 'Land Strength', 'Tank Strength'),
( 'Land Strength', 'Tank Strength value'),
( 'Land Strength', 'AFV/APC Strength'),
( 'Land Strength', 'AFV/APC Strength value'),
( 'Land Strength', 'Self-Propelled Artillery Strength'),
( 'Land Strength', 'Self-Propelled Artillery Strength value'),
( 'Land Strength', 'Towed Artillery Strength'),
( 'Land Strength', 'Towed Artillery Strength value'),
( 'Land Strength', 'Rocket Projector Strength'),
( 'Land Strength', 'Rocket Projector Strength value'),
( 'Navy Strength', 'Navy Fleet Strengths'),
( 'Navy Strength', 'Navy Fleet Strengths value'),
( 'Navy Strength', 'Aircraft Carrier Fleet Strength'),
( 'Navy Strength', 'Aircraft Carrier Fleet Strength value'),
( 'Navy Strength', 'Submarine Fleet Strength'),
( 'Navy Strength', 'Submarine Fleet Strength value'),
( 'Navy Strength', 'Destroyer Fleet Strength'),
( 'Navy Strength', 'Destroyer Fleet Strength value'),
( 'Navy Strength', 'Frigate Fleet Strength'),
( 'Navy Strength', 'Frigate Fleet Strength value'),
( 'Finances', 'defense spending budget'),
( 'Finances', 'defense spending budget value'),
( 'Finances', 'External Debt'),
( 'Finances', 'External Debt value'),
( 'Logistics', 'Airport Totals'),
( 'Logistics', 'Airport Totals value'),
('Natural resources', 'Oil Production'),
('Natural resources', 'Oil Production value'),
('Natural resources', 'Oil Consumption'),
('Natural resources', 'Oil Consumption value'),
('Natural resources', 'Proven Oil Reserves'),
('Natural resources', 'Proven Oil Reserves value'),
( 'Manpower', 'Available Manpower'),
( 'Manpower', 'Available Manpower value'),
( 'Manpower', 'Total Population'),
( 'Manpower', 'Total Population value'),
( 'Geography', 'Total Square Land Area'),
( 'Geography', 'Total Square Land Area value'),
( 'Geography', 'Total Coastline Coverage'),
( 'Geography', 'Total Coastline Coverage value'),
( 'Geography', 'Total Waterway Coverage'),
( 'Geography', 'Total Waterway Coverage value'),
( 'Geography', 'Total Border Coverage'),
( 'Geography', 'Total Border Coverage value')],
)
# To convert each level of the tuple to a string for iterating through the MultiIndex column headers.
df.columns = ['_'.join(tuple(map(str, t))) for t in df.columns.values]
df.columns
Index(['2020 ranking_Military Strength',
'2020 ranking_Military Strength Power Index',
'Airforce Strength_Aircraft Strength',
'Airforce Strength_Aircraft Strength value',
'Airforce Strength_Fighter/Interceptor Strength',
'Airforce Strength_Fighter/Interceptor Strength value',
'Airforce Strength_Attack Aircraft Strength',
'Airforce Strength_Attack Aircraft Strength value',
'Airforce Strength_Transport Aircraft Fleet Strength',
'Airforce Strength_Transport Aircraft Fleet Strength value',
'Airforce Strength_Trainer Aircraft Fleet',
'Airforce Strength_Trainer Aircraft Fleet value',
'Airforce Strength_Helicopter Fleet Strength',
'Airforce Strength_Helicopter Fleet Strength value',
'Airforce Strength_Attack Helicopter Fleet Strength',
'Airforce Strength_Attack Helicopter Fleet Strength value',
'Land Strength_Tank Strength', 'Land Strength_Tank Strength value',
'Land Strength_AFV/APC Strength',
'Land Strength_AFV/APC Strength value',
'Land Strength_Self-Propelled Artillery Strength',
'Land Strength_Self-Propelled Artillery Strength value',
'Land Strength_Towed Artillery Strength',
'Land Strength_Towed Artillery Strength value',
'Land Strength_Rocket Projector Strength',
'Land Strength_Rocket Projector Strength value',
'Navy Strength_Navy Fleet Strengths',
'Navy Strength_Navy Fleet Strengths value',
'Navy Strength_Aircraft Carrier Fleet Strength',
'Navy Strength_Aircraft Carrier Fleet Strength value',
'Navy Strength_Submarine Fleet Strength',
'Navy Strength_Submarine Fleet Strength value',
'Navy Strength_Destroyer Fleet Strength',
'Navy Strength_Destroyer Fleet Strength value',
'Navy Strength_Frigate Fleet Strength',
'Navy Strength_Frigate Fleet Strength value',
'Finances_defense spending budget',
'Finances_defense spending budget value', 'Finances_External Debt',
'Finances_External Debt value', 'Logistics_Airport Totals',
'Logistics_Airport Totals value', 'Natural resources_Oil Production',
'Natural resources_Oil Production value',
'Natural resources_Oil Consumption',
'Natural resources_Oil Consumption value',
'Natural resources_Proven Oil Reserves',
'Natural resources_Proven Oil Reserves value',
'Manpower_Available Manpower', 'Manpower_Available Manpower value',
'Manpower_Total Population', 'Manpower_Total Population value',
'Geography_Total Square Land Area',
'Geography_Total Square Land Area value',
'Geography_Total Coastline Coverage',
'Geography_Total Coastline Coverage value',
'Geography_Total Waterway Coverage',
'Geography_Total Waterway Coverage value',
'Geography_Total Border Coverage',
'Geography_Total Border Coverage value'],
dtype='object')
df.head()
| 2020 ranking_Military Strength | 2020 ranking_Military Strength Power Index | Airforce Strength_Aircraft Strength | Airforce Strength_Aircraft Strength value | Airforce Strength_Fighter/Interceptor Strength | Airforce Strength_Fighter/Interceptor Strength value | Airforce Strength_Attack Aircraft Strength | Airforce Strength_Attack Aircraft Strength value | Airforce Strength_Transport Aircraft Fleet Strength | Airforce Strength_Transport Aircraft Fleet Strength value | Airforce Strength_Trainer Aircraft Fleet | Airforce Strength_Trainer Aircraft Fleet value | Airforce Strength_Helicopter Fleet Strength | Airforce Strength_Helicopter Fleet Strength value | Airforce Strength_Attack Helicopter Fleet Strength | Airforce Strength_Attack Helicopter Fleet Strength value | Land Strength_Tank Strength | Land Strength_Tank Strength value | Land Strength_AFV/APC Strength | Land Strength_AFV/APC Strength value | Land Strength_Self-Propelled Artillery Strength | Land Strength_Self-Propelled Artillery Strength value | Land Strength_Towed Artillery Strength | Land Strength_Towed Artillery Strength value | Land Strength_Rocket Projector Strength | Land Strength_Rocket Projector Strength value | Navy Strength_Navy Fleet Strengths | Navy Strength_Navy Fleet Strengths value | Navy Strength_Aircraft Carrier Fleet Strength | Navy Strength_Aircraft Carrier Fleet Strength value | Navy Strength_Submarine Fleet Strength | Navy Strength_Submarine Fleet Strength value | Navy Strength_Destroyer Fleet Strength | Navy Strength_Destroyer Fleet Strength value | Navy Strength_Frigate Fleet Strength | Navy Strength_Frigate Fleet Strength value | Finances_defense spending budget | Finances_defense spending budget value | Finances_External Debt | Finances_External Debt value | Logistics_Airport Totals | Logistics_Airport Totals value | Natural resources_Oil Production | Natural resources_Oil Production value | Natural resources_Oil Consumption | Natural resources_Oil Consumption value | Natural resources_Proven Oil Reserves | Natural resources_Proven Oil Reserves value | Manpower_Available Manpower | Manpower_Available Manpower value | Manpower_Total Population | Manpower_Total Population value | Geography_Total Square Land Area | Geography_Total Square Land Area value | Geography_Total Coastline Coverage | Geography_Total Coastline Coverage value | Geography_Total Waterway Coverage | Geography_Total Waterway Coverage value | Geography_Total Border Coverage | Geography_Total Border Coverage value | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | Afghanistan | 1.3444 | Afghanistan | 260 | Afghanistan | 0 | Afghanistan | 25 | Afghanistan | 30 | Afghanistan | 0 | Afghanistan | 187 | Afghanistan | 0 | Afghanistan | 0 | Afghanistan | 1062 | Afghanistan | 0 | Afghanistan | 176 | Afghanistan | 50 | Afghanistan | 0.0 | Afghanistan | 0.0 | Afghanistan | 0.0 | Afghanistan | 0.0 | Afghanistan | 0.0 | Afghanistan | 12,00,00,00,000 | Afghanistan | 2,84,00,00,000 | Afghanistan | 43 | Afghanistan | 0 | Afghanistan | 5500 | Afghanistan | 0 | Afghanistan | 1,43,25,743 | Afghanistan | 3,49,40,837 | Afghanistan | 6,52,230 | Afghanistan | 0 | Afghanistan | 1200 | Afghanistan | 5987.0 |
| 1 | Albania | 2.3137 | Albania | 19 | Albania | 0 | Albania | 0 | Albania | 0 | Albania | 0 | Albania | 19 | Albania | 0 | Albania | 0 | Albania | 467 | Albania | 0 | Albania | 0 | Albania | 0 | Albania | 38.0 | Albania | 0.0 | Albania | 0.0 | Albania | 0.0 | Albania | 0.0 | Albania | 25,00,00,000 | Albania | 9,50,50,00,000 | Albania | 4 | Albania | 16000 | Albania | 42500 | Albania | 16,83,00,000 | Albania | 15,19,438 | Albania | 30,57,220 | Albania | 28748 | Albania | 362 | Albania | 41 | Albania | 691.0 |
| 2 | Algeria | 0.4659 | Algeria | 551 | Algeria | 103 | Algeria | 22 | Algeria | 59 | Algeria | 87 | Algeria | 257 | Algeria | 45 | Algeria | 880 | Algeria | 7361 | Algeria | 320 | Algeria | 240 | Algeria | 316 | Algeria | 201.0 | Algeria | 0.0 | Algeria | 6.0 | Algeria | 0.0 | Algeria | 5.0 | Algeria | 13,00,00,00,000 | Algeria | 6,26,00,00,000 | Algeria | 157 | Algeria | 13,06,000 | Algeria | 3,25,000 | Algeria | 12,20,00,00,000 | Algeria | 2,07,41,263 | Algeria | 4,16,57,488 | Algeria | 23,81,741 | Algeria | 998 | Algeria | 0 | Algeria | 6734.0 |
| 3 | Angola | 0.8379 | Angola | 295 | Angola | 72 | Angola | 18 | Angola | 30 | Angola | 47 | Angola | 126 | Angola | 15 | Angola | 379 | Angola | 595 | Angola | 28 | Angola | 357 | Angola | 115 | Angola | 57.0 | Angola | 0.0 | Angola | 0.0 | Angola | 0.0 | Angola | 0.0 | Angola | 7,00,00,00,000 | Angola | 42,08,00,00,000 | Angola | 176 | Angola | 16,66,000 | Angola | 82300 | Angola | 8,27,30,00,000 | Angola | 62,44,205 | Angola | 3,03,55,880 | Angola | 12,46,700 | Angola | 1600 | Angola | 1300 | Angola | 5369.0 |
| 4 | Argentina | 0.6521 | Argentina | 227 | Argentina | 24 | Argentina | 7 | Argentina | 9 | Argentina | 64 | Argentina | 100 | Argentina | 0 | Argentina | 370 | Argentina | 739 | Argentina | 83 | Argentina | 172 | Argentina | 26 | Argentina | 49.0 | Argentina | 0.0 | Argentina | 2.0 | Argentina | 4.0 | Argentina | 0.0 | Argentina | 4,20,00,00,000 | Argentina | 2,14,90,00,00,000 | Argentina | 1138 | Argentina | 4,79,400 | Argentina | 6,85,000 | Argentina | 2,18,50,00,000 | Argentina | 2,01,79,430 | Argentina | 4,46,94,198 | Argentina | 27,80,400 | Argentina | 4989 | Argentina | 11000 | Argentina | 11968.0 |
# to find all occurrences of the pattern ".*value" within each column name.
value_cols = [i[0] for i in df.columns.str.findall(".*value") if i !=[]]
value_cols
['Airforce Strength_Aircraft Strength value', 'Airforce Strength_Fighter/Interceptor Strength value', 'Airforce Strength_Attack Aircraft Strength value', 'Airforce Strength_Transport Aircraft Fleet Strength value', 'Airforce Strength_Trainer Aircraft Fleet value', 'Airforce Strength_Helicopter Fleet Strength value', 'Airforce Strength_Attack Helicopter Fleet Strength value', 'Land Strength_Tank Strength value', 'Land Strength_AFV/APC Strength value', 'Land Strength_Self-Propelled Artillery Strength value', 'Land Strength_Towed Artillery Strength value', 'Land Strength_Rocket Projector Strength value', 'Navy Strength_Navy Fleet Strengths value', 'Navy Strength_Aircraft Carrier Fleet Strength value', 'Navy Strength_Submarine Fleet Strength value', 'Navy Strength_Destroyer Fleet Strength value', 'Navy Strength_Frigate Fleet Strength value', 'Finances_defense spending budget value', 'Finances_External Debt value', 'Logistics_Airport Totals value', 'Natural resources_Oil Production value', 'Natural resources_Oil Consumption value', 'Natural resources_Proven Oil Reserves value', 'Manpower_Available Manpower value', 'Manpower_Total Population value', 'Geography_Total Square Land Area value', 'Geography_Total Coastline Coverage value', 'Geography_Total Waterway Coverage value', 'Geography_Total Border Coverage value']
# Create a copy of the original DataFrame to avoid modifying it directly if you don't want to
value_df = df.copy()
# Select the "value" columns
value_df = value_df[value_cols]
# Insert the "country" column
value_df.insert(0, "country", df["2020 ranking_Military Strength"])
# Insert the "Military Strength Power Index" column
value_df.insert(1, "Military Strength Power Index", df["2020 ranking_Military Strength Power Index"])
# Now, if you want to rename 'value_df' back to 'df':
df = value_df.copy() # Use .copy() to avoid potential SettingWithCopyWarning
df.head()
#We've gotten rid of unnecessary, repeated columns.
| country | Military Strength Power Index | Airforce Strength_Aircraft Strength value | Airforce Strength_Fighter/Interceptor Strength value | Airforce Strength_Attack Aircraft Strength value | Airforce Strength_Transport Aircraft Fleet Strength value | Airforce Strength_Trainer Aircraft Fleet value | Airforce Strength_Helicopter Fleet Strength value | Airforce Strength_Attack Helicopter Fleet Strength value | Land Strength_Tank Strength value | Land Strength_AFV/APC Strength value | Land Strength_Self-Propelled Artillery Strength value | Land Strength_Towed Artillery Strength value | Land Strength_Rocket Projector Strength value | Navy Strength_Navy Fleet Strengths value | Navy Strength_Aircraft Carrier Fleet Strength value | Navy Strength_Submarine Fleet Strength value | Navy Strength_Destroyer Fleet Strength value | Navy Strength_Frigate Fleet Strength value | Finances_defense spending budget value | Finances_External Debt value | Logistics_Airport Totals value | Natural resources_Oil Production value | Natural resources_Oil Consumption value | Natural resources_Proven Oil Reserves value | Manpower_Available Manpower value | Manpower_Total Population value | Geography_Total Square Land Area value | Geography_Total Coastline Coverage value | Geography_Total Waterway Coverage value | Geography_Total Border Coverage value | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | Afghanistan | 1.3444 | 260 | 0 | 25 | 30 | 0 | 187 | 0 | 0 | 1062 | 0 | 176 | 50 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 12,00,00,00,000 | 2,84,00,00,000 | 43 | 0 | 5500 | 0 | 1,43,25,743 | 3,49,40,837 | 6,52,230 | 0 | 1200 | 5987.0 |
| 1 | Albania | 2.3137 | 19 | 0 | 0 | 0 | 0 | 19 | 0 | 0 | 467 | 0 | 0 | 0 | 38.0 | 0.0 | 0.0 | 0.0 | 0.0 | 25,00,00,000 | 9,50,50,00,000 | 4 | 16000 | 42500 | 16,83,00,000 | 15,19,438 | 30,57,220 | 28748 | 362 | 41 | 691.0 |
| 2 | Algeria | 0.4659 | 551 | 103 | 22 | 59 | 87 | 257 | 45 | 880 | 7361 | 320 | 240 | 316 | 201.0 | 0.0 | 6.0 | 0.0 | 5.0 | 13,00,00,00,000 | 6,26,00,00,000 | 157 | 13,06,000 | 3,25,000 | 12,20,00,00,000 | 2,07,41,263 | 4,16,57,488 | 23,81,741 | 998 | 0 | 6734.0 |
| 3 | Angola | 0.8379 | 295 | 72 | 18 | 30 | 47 | 126 | 15 | 379 | 595 | 28 | 357 | 115 | 57.0 | 0.0 | 0.0 | 0.0 | 0.0 | 7,00,00,00,000 | 42,08,00,00,000 | 176 | 16,66,000 | 82300 | 8,27,30,00,000 | 62,44,205 | 3,03,55,880 | 12,46,700 | 1600 | 1300 | 5369.0 |
| 4 | Argentina | 0.6521 | 227 | 24 | 7 | 9 | 64 | 100 | 0 | 370 | 739 | 83 | 172 | 26 | 49.0 | 0.0 | 2.0 | 4.0 | 0.0 | 4,20,00,00,000 | 2,14,90,00,00,000 | 1138 | 4,79,400 | 6,85,000 | 2,18,50,00,000 | 2,01,79,430 | 4,46,94,198 | 27,80,400 | 4989 | 11000 | 11968.0 |
df.isnull().sum().sort_values(ascending=False)
Geography_Total Coastline Coverage value 29 Navy Strength_Aircraft Carrier Fleet Strength value 23 Navy Strength_Frigate Fleet Strength value 23 Navy Strength_Destroyer Fleet Strength value 23 Navy Strength_Submarine Fleet Strength value 23 Navy Strength_Navy Fleet Strengths value 14 Geography_Total Border Coverage value 9 Airforce Strength_Helicopter Fleet Strength value 0 Airforce Strength_Attack Helicopter Fleet Strength value 0 Geography_Total Waterway Coverage value 0 Airforce Strength_Aircraft Strength value 0 Geography_Total Square Land Area value 0 Manpower_Total Population value 0 Manpower_Available Manpower value 0 Natural resources_Proven Oil Reserves value 0 Natural resources_Oil Consumption value 0 Natural resources_Oil Production value 0 Logistics_Airport Totals value 0 Finances_External Debt value 0 Finances_defense spending budget value 0 Airforce Strength_Fighter/Interceptor Strength value 0 Airforce Strength_Attack Aircraft Strength value 0 Airforce Strength_Transport Aircraft Fleet Strength value 0 Military Strength Power Index 0 Airforce Strength_Trainer Aircraft Fleet value 0 Land Strength_Rocket Projector Strength value 0 Land Strength_Towed Artillery Strength value 0 Land Strength_Self-Propelled Artillery Strength value 0 Land Strength_AFV/APC Strength value 0 Land Strength_Tank Strength value 0 country 0 dtype: int64
df.isnull().melt(value_name="missing")#unpivoting the table from a wide format to a long format
| variable | missing | |
|---|---|---|
| 0 | country | False |
| 1 | country | False |
| 2 | country | False |
| 3 | country | False |
| 4 | country | False |
| ... | ... | ... |
| 4273 | Geography_Total Border Coverage value | False |
| 4274 | Geography_Total Border Coverage value | False |
| 4275 | Geography_Total Border Coverage value | False |
| 4276 | Geography_Total Border Coverage value | False |
| 4277 | Geography_Total Border Coverage value | False |
4278 rows × 2 columns
sns.displot(
data=df.isnull().melt(value_name="missing"),
y="variable",
hue="missing",
multiple="fill",
height=4,
aspect=1.5
)
plt.axvline(0.25, color="r")
plt.subplots_adjust(left=0.1, right=0.8, bottom=0.1, top=0.9) # Increased left margin
plt.show()
with pd.option_context('display.max_columns', None):
display(df[df["Geography_Total Coastline Coverage value"].isna()])
# to inspect the rows where the "Geography_Total Coastline Coverage" column has missing values or landlocked countries.
| country | Military Strength Power Index | Airforce Strength_Aircraft Strength value | Airforce Strength_Fighter/Interceptor Strength value | Airforce Strength_Attack Aircraft Strength value | Airforce Strength_Transport Aircraft Fleet Strength value | Airforce Strength_Trainer Aircraft Fleet value | Airforce Strength_Helicopter Fleet Strength value | Airforce Strength_Attack Helicopter Fleet Strength value | Land Strength_Tank Strength value | Land Strength_AFV/APC Strength value | Land Strength_Self-Propelled Artillery Strength value | Land Strength_Towed Artillery Strength value | Land Strength_Rocket Projector Strength value | Navy Strength_Navy Fleet Strengths value | Navy Strength_Aircraft Carrier Fleet Strength value | Navy Strength_Submarine Fleet Strength value | Navy Strength_Destroyer Fleet Strength value | Navy Strength_Frigate Fleet Strength value | Finances_defense spending budget value | Finances_External Debt value | Logistics_Airport Totals value | Natural resources_Oil Production value | Natural resources_Oil Consumption value | Natural resources_Proven Oil Reserves value | Manpower_Available Manpower value | Manpower_Total Population value | Geography_Total Square Land Area value | Geography_Total Coastline Coverage value | Geography_Total Waterway Coverage value | Geography_Total Border Coverage value | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 5 | Armenia | 2.1251 | 64 | 0 | 9 | 3 | 13 | 37 | 20 | 110 | 748 | 38 | 150 | 68 | 0.0 | NaN | NaN | NaN | NaN | 1,38,50,00,000 | 10,41,00,00,000 | 11 | 0 | 47500 | 0 | 16,96,085 | 30,38,217 | 29743 | NaN | 0 | 1570.0 |
| 7 | Austria | 0.9568 | 120 | 15 | 0 | 11 | 32 | 62 | 0 | 56 | 467 | 33 | 0 | 0 | 0.0 | NaN | NaN | NaN | NaN | 3,38,00,00,000 | 6,30,80,00,00,000 | 52 | 14260 | 2,15,000 | 4,30,00,000 | 40,17,691 | 87,93,370 | 83871 | NaN | 0 | 2524.0 |
| 11 | Belarus | 0.8179 | 202 | 39 | 68 | 4 | 28 | 63 | 21 | 532 | 1560 | 482 | 228 | 238 | 0.0 | NaN | NaN | NaN | NaN | 62,37,02,800 | 39,92,00,00,000 | 65 | 32000 | 1,90,000 | 19,80,00,000 | 49,82,905 | 95,27,543 | 2,07,600 | NaN | 2500 | 3599.0 |
| 13 | Bhutan | 10.1681 | 2 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 27 | 0 | 0 | 0 | 0.0 | NaN | NaN | NaN | NaN | 2,51,20,000 | 2,67,10,00,000 | 2 | 0 | 2000 | 0 | 1,76,808 | 7,66,397 | 38394 | NaN | 0 | 1136.0 |
| 14 | Bolivia | 0.9942 | 69 | 0 | 0 | 14 | 23 | 38 | 0 | 54 | 137 | 0 | 86 | 0 | 173.0 | 0.0 | 0.0 | 0.0 | 0.0 | 66,00,00,000 | 12,81,00,00,000 | 855 | 59330 | 60000 | 21,15,00,000 | 50,75,416 | 1,13,06,341 | 10,98,581 | NaN | 10000 | 7252.0 |
| 16 | Botswana | 2.0582 | 45 | 10 | 0 | 11 | 8 | 16 | 0 | 55 | 245 | 0 | 30 | 20 | NaN | NaN | NaN | NaN | NaN | 45,00,00,000 | 2,18,70,00,000 | 74 | 0 | 16500 | 0 | 9,62,617 | 22,49,104 | 5,81,730 | NaN | 0 | 4347.0 |
| 19 | Burkina Faso | 1.9009 | 16 | 0 | 3 | 1 | 4 | 8 | 2 | 0 | 350 | 0 | 0 | 0 | NaN | NaN | NaN | NaN | NaN | 13,00,00,000 | 3,05,60,00,000 | 23 | 0 | 10500 | 0 | 78,00,000 | 1,97,42,715 | 2,74,200 | NaN | 0 | 3611.0 |
| 23 | Central African Republic | 3.2889 | 3 | 0 | 0 | 2 | 0 | 1 | 0 | 4 | 55 | 0 | 20 | 0 | NaN | NaN | NaN | NaN | NaN | 2,00,00,000 | 77,99,00,000 | 39 | 0 | 4500 | 0 | 23,48,581 | 57,45,062 | 6,22,984 | NaN | 2800 | 5920.0 |
| 24 | Chad | 1.6383 | 35 | 0 | 6 | 6 | 4 | 17 | 3 | 60 | 372 | 10 | 51 | 10 | NaN | NaN | NaN | NaN | NaN | 20,00,00,000 | 1,72,40,00,000 | 59 | 1,28,000 | 1,00,000 | 1,50,00,00,000 | 60,30,834 | 1,58,33,116 | 12,84,000 | NaN | 0 | 6406.0 |
| 30 | Czechia | 0.5531 | 95 | 12 | 16 | 8 | 15 | 44 | 15 | 116 | 682 | 86 | 85 | 0 | NaN | NaN | NaN | NaN | NaN | 2,96,90,00,000 | 2,05,20,00,00,000 | 128 | 2000 | 2,00,000 | 1,50,00,000 | 50,11,174 | 1,06,86,269 | 78867 | NaN | 664 | 2046.0 |
| 38 | Ethiopia | 0.8581 | 86 | 24 | 0 | 9 | 20 | 33 | 8 | 400 | 114 | 67 | 650 | 183 | NaN | NaN | NaN | NaN | NaN | 35,00,00,000 | 26,05,00,00,000 | 57 | 0 | 55000 | 4,28,000 | 4,11,43,474 | 10,83,86,391 | 11,04,300 | NaN | 1,04,300 | 5925.0 |
| 48 | Hungary | 0.8215 | 47 | 12 | 0 | 5 | 6 | 24 | 8 | 30 | 944 | 0 | 300 | 0 | NaN | NaN | NaN | NaN | NaN | 2,08,00,00,000 | 1,38,10,00,00,000 | 41 | 14000 | 1,45,000 | 2,51,00,000 | 46,18,081 | 98,25,704 | 1,03,000 | NaN | 1622 | 2106.0 |
| 62 | Kyrgyzstan | 1.9244 | 5 | 0 | 0 | 0 | 0 | 5 | 2 | 150 | 385 | 30 | 141 | 21 | NaN | NaN | NaN | NaN | NaN | 2,00,00,000 | 8,16,40,00,000 | 28 | 1000 | 17200 | 4,00,00,000 | 30,29,935 | 58,49,296 | 1,99,951 | NaN | 600 | 4573.0 |
| 63 | Laos | 3.4433 | 33 | 0 | 0 | 2 | 4 | 27 | 0 | 65 | 30 | 0 | 62 | 0 | 36.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1,85,00,000 | 14,90,00,00,000 | 41 | 0 | 4500 | 0 | 32,48,143 | 72,34,171 | 2,36,800 | NaN | 4600 | 5274.0 |
| 71 | Mali | 1.8941 | 29 | 9 | 0 | 6 | 5 | 8 | 6 | 80 | 248 | 0 | 50 | 32 | NaN | NaN | NaN | NaN | NaN | 7,00,00,000 | 4,19,20,00,000 | 25 | 0 | 5500 | 0 | 59,91,557 | 1,84,29,893 | 12,40,192 | NaN | 0 | 7908.0 |
| 74 | Moldova | 2.1291 | 3 | 0 | 0 | 1 | 0 | 2 | 0 | 0 | 341 | 9 | 52 | 11 | NaN | NaN | NaN | NaN | NaN | 3,00,00,000 | 6,54,90,00,000 | 7 | 0 | 16320 | 0 | 20,14,503 | 34,37,720 | 33851 | NaN | 558 | 1885.0 |
| 75 | Mongolia | 2.0299 | 9 | 0 | 0 | 3 | 0 | 6 | 0 | 470 | 750 | 0 | 300 | 130 | NaN | NaN | NaN | NaN | NaN | 15,50,00,000 | 25,33,00,00,000 | 44 | 20000 | 25000 | 0 | 18,18,609 | 31,03,428 | 15,64,116 | NaN | 580 | 8082.0 |
| 81 | Nepal | 2.9891 | 16 | 0 | 0 | 3 | 0 | 13 | 0 | 0 | 214 | 0 | 84 | 0 | NaN | NaN | NaN | NaN | NaN | 21,30,00,000 | 5,84,90,00,000 | 47 | 0 | 20000 | 0 | 1,47,39,923 | 2,97,17,587 | 1,47,181 | NaN | 0 | 3159.0 |
| 85 | Niger | 2.0153 | 16 | 0 | 2 | 5 | 0 | 7 | 1 | 0 | 182 | 0 | 0 | 0 | NaN | NaN | NaN | NaN | NaN | 32,50,00,000 | 3,72,80,00,000 | 30 | 11000 | 6500 | 15,00,00,000 | 67,54,519 | 1,98,66,231 | 12,67,000 | NaN | 300 | 5834.0 |
| 88 | North Macedonia | 3.1808 | 20 | 0 | 0 | 0 | 10 | 14 | 4 | 31 | 251 | 0 | 144 | 24 | NaN | NaN | NaN | NaN | NaN | 10,81,52,512 | 8,79,00,00,000 | 10 | 0 | 18500 | 0 | 10,53,116 | 21,18,945 | 25713 | NaN | 280 | 838.0 |
| 93 | Paraguay | 2.1898 | 33 | 0 | 0 | 6 | 15 | 11 | 0 | 13 | 63 | 0 | 108 | 0 | 40.0 | 0.0 | 0.0 | 0.0 | 0.0 | 25,00,00,000 | 17,70,00,00,000 | 799 | 0 | 30000 | 0 | 33,72,366 | 70,25,763 | 4,06,752 | NaN | 3100 | 4655.0 |
| 103 | Serbia | 0.9479 | 109 | 9 | 17 | 1 | 38 | 44 | 0 | 293 | 904 | 87 | 144 | 88 | 19.0 | 0.0 | 0.0 | 0.0 | 0.0 | 90,70,00,000 | 29,50,00,00,000 | 26 | 18740 | 75000 | 7,75,00,000 | 34,68,274 | 70,78,110 | 77474 | NaN | 587 | 2322.0 |
| 106 | Slovakia | 0.8466 | 47 | 10 | 0 | 7 | 8 | 21 | 0 | 20 | 661 | 16 | 9 | 25 | 0.0 | NaN | NaN | NaN | NaN | 2,12,18,17,575 | 75,04,00,00,000 | 35 | 200 | 82000 | 90,00,000 | 27,76,970 | 54,45,040 | 49035 | NaN | 172 | 1587.0 |
| 111 | South Sudan | 2.3501 | 19 | 0 | 0 | 2 | 0 | 17 | 6 | 110 | 200 | 24 | 0 | 14 | 0.0 | 2.0 | 22.0 | 12.0 | 18.0 | 8,00,00,000 | 2,25,00,00,000 | 85 | 1,50,200 | 60000 | 3,75,00,00,000 | 52,45,155 | 1,02,04,581 | 6,44,329 | NaN | 0 | 6018.0 |
| 117 | Switzerland | 0.5259 | 169 | 54 | 0 | 18 | 54 | 42 | 0 | 326 | 1338 | 224 | 0 | 0 | 0.0 | NaN | NaN | NaN | NaN | 5,00,00,00,000 | 16,64,00,00,00,000 | 63 | 0 | 2,60,000 | 0 | 36,32,250 | 82,92,809 | 41277 | NaN | 1299 | 1770.0 |
| 120 | Tajikistan | 1.8661 | 25 | 0 | 0 | 1 | 4 | 20 | 6 | 253 | 347 | 0 | 90 | 128 | 0.0 | NaN | NaN | NaN | NaN | 1,60,00,00,000 | 5,75,00,00,000 | 24 | 180 | 20500 | 1,20,00,000 | 40,95,924 | 86,04,882 | 1,43,100 | NaN | 200 | 4130.0 |
| 126 | Uganda | 1.6176 | 48 | 10 | 0 | 2 | 10 | 26 | 5 | 371 | 1081 | 6 | 53 | 26 | 8.0 | 0.0 | 0.0 | 0.0 | 0.0 | 93,50,00,000 | 10,80,00,00,000 | 47 | 0 | 17500 | 2,50,00,00,000 | 1,47,07,350 | 4,08,53,749 | 2,41,038 | NaN | 0 | 2729.0 |
| 136 | Zambia | 1.6464 | 108 | 18 | 0 | 11 | 52 | 27 | 0 | 75 | 184 | 0 | 42 | 50 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 4,00,00,000 | 11,66,00,00,000 | 88 | 0 | 21000 | 0 | 61,66,905 | 1,64,45,079 | 7,52,618 | NaN | 2250 | 6043.0 |
| 137 | Zimbabwe | 1.7577 | 90 | 10 | 0 | 14 | 38 | 28 | 6 | 42 | 300 | 0 | 65 | 22 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 10,00,00,000 | 9,35,70,00,000 | 196 | 0 | 19500 | 0 | 55,84,086 | 1,40,30,368 | 3,90,757 | NaN | 0 | 3229.0 |
df.loc[df["Geography_Total Coastline Coverage value"].isnull(), ['country',
'Navy Strength_Navy Fleet Strengths value',
'Navy Strength_Aircraft Carrier Fleet Strength value',
'Navy Strength_Submarine Fleet Strength value',
'Navy Strength_Destroyer Fleet Strength value',
'Navy Strength_Frigate Fleet Strength value',
'Geography_Total Waterway Coverage value']]
| country | Navy Strength_Navy Fleet Strengths value | Navy Strength_Aircraft Carrier Fleet Strength value | Navy Strength_Submarine Fleet Strength value | Navy Strength_Destroyer Fleet Strength value | Navy Strength_Frigate Fleet Strength value | Geography_Total Waterway Coverage value | |
|---|---|---|---|---|---|---|---|
| 5 | Armenia | 0.0 | NaN | NaN | NaN | NaN | 0 |
| 7 | Austria | 0.0 | NaN | NaN | NaN | NaN | 0 |
| 11 | Belarus | 0.0 | NaN | NaN | NaN | NaN | 2500 |
| 13 | Bhutan | 0.0 | NaN | NaN | NaN | NaN | 0 |
| 14 | Bolivia | 173.0 | 0.0 | 0.0 | 0.0 | 0.0 | 10000 |
| 16 | Botswana | NaN | NaN | NaN | NaN | NaN | 0 |
| 19 | Burkina Faso | NaN | NaN | NaN | NaN | NaN | 0 |
| 23 | Central African Republic | NaN | NaN | NaN | NaN | NaN | 2800 |
| 24 | Chad | NaN | NaN | NaN | NaN | NaN | 0 |
| 30 | Czechia | NaN | NaN | NaN | NaN | NaN | 664 |
| 38 | Ethiopia | NaN | NaN | NaN | NaN | NaN | 1,04,300 |
| 48 | Hungary | NaN | NaN | NaN | NaN | NaN | 1622 |
| 62 | Kyrgyzstan | NaN | NaN | NaN | NaN | NaN | 600 |
| 63 | Laos | 36.0 | 0.0 | 0.0 | 0.0 | 0.0 | 4600 |
| 71 | Mali | NaN | NaN | NaN | NaN | NaN | 0 |
| 74 | Moldova | NaN | NaN | NaN | NaN | NaN | 558 |
| 75 | Mongolia | NaN | NaN | NaN | NaN | NaN | 580 |
| 81 | Nepal | NaN | NaN | NaN | NaN | NaN | 0 |
| 85 | Niger | NaN | NaN | NaN | NaN | NaN | 300 |
| 88 | North Macedonia | NaN | NaN | NaN | NaN | NaN | 280 |
| 93 | Paraguay | 40.0 | 0.0 | 0.0 | 0.0 | 0.0 | 3100 |
| 103 | Serbia | 19.0 | 0.0 | 0.0 | 0.0 | 0.0 | 587 |
| 106 | Slovakia | 0.0 | NaN | NaN | NaN | NaN | 172 |
| 111 | South Sudan | 0.0 | 2.0 | 22.0 | 12.0 | 18.0 | 0 |
| 117 | Switzerland | 0.0 | NaN | NaN | NaN | NaN | 1299 |
| 120 | Tajikistan | 0.0 | NaN | NaN | NaN | NaN | 200 |
| 126 | Uganda | 8.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0 |
| 136 | Zambia | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 2250 |
| 137 | Zimbabwe | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0 |
df.loc[df["country"] == "South Sudan",
['country',
'Navy Strength_Navy Fleet Strengths value',
'Navy Strength_Aircraft Carrier Fleet Strength value',
'Navy Strength_Submarine Fleet Strength value',
'Navy Strength_Destroyer Fleet Strength value',
'Navy Strength_Frigate Fleet Strength value',
]]
| country | Navy Strength_Navy Fleet Strengths value | Navy Strength_Aircraft Carrier Fleet Strength value | Navy Strength_Submarine Fleet Strength value | Navy Strength_Destroyer Fleet Strength value | Navy Strength_Frigate Fleet Strength value | |
|---|---|---|---|---|---|---|
| 111 | South Sudan | 0.0 | 2.0 | 22.0 | 12.0 | 18.0 |
There's a very interesting situation regarding "Navy Strength Values" of South Sudan. Because it has no "Coastline Coverage Value". So let's fix.
df.loc[df["country"] == "South Sudan", 'Navy Strength_Aircraft Carrier Fleet Strength value'] = 0
df.loc[df["country"] == "South Sudan", 'Navy Strength_Submarine Fleet Strength value'] = 0
df.loc[df["country"] == "South Sudan", 'Navy Strength_Destroyer Fleet Strength value'] = 0
df.loc[df["country"] == "South Sudan", 'Navy Strength_Frigate Fleet Strength value'] = 0
df.loc[
df["Geography_Total Coastline Coverage value"].isnull(),
['Navy Strength_Navy Fleet Strengths value',
'Navy Strength_Aircraft Carrier Fleet Strength value',
'Navy Strength_Submarine Fleet Strength value',
'Navy Strength_Destroyer Fleet Strength value',
'Navy Strength_Frigate Fleet Strength value']
] = 0
sns.displot(
data=df.isnull().melt(value_name="missing"),
y="variable",
hue="missing",
multiple="fill",
height=4,
aspect=1.5
)
plt.axvline(0.25, color="r")
plt.subplots_adjust(left=0.1, right=0.8, bottom=0.1, top=0.9) # Increased left margin
plt.show()
df.loc[df['Navy Strength_Aircraft Carrier Fleet Strength value'].isnull()|
df['Navy Strength_Submarine Fleet Strength value'].isnull()|
df['Navy Strength_Destroyer Fleet Strength value'].isnull()|
df['Navy Strength_Frigate Fleet Strength value'].isnull()]
| country | Military Strength Power Index | Airforce Strength_Aircraft Strength value | Airforce Strength_Fighter/Interceptor Strength value | Airforce Strength_Attack Aircraft Strength value | Airforce Strength_Transport Aircraft Fleet Strength value | Airforce Strength_Trainer Aircraft Fleet value | Airforce Strength_Helicopter Fleet Strength value | Airforce Strength_Attack Helicopter Fleet Strength value | Land Strength_Tank Strength value | Land Strength_AFV/APC Strength value | Land Strength_Self-Propelled Artillery Strength value | Land Strength_Towed Artillery Strength value | Land Strength_Rocket Projector Strength value | Navy Strength_Navy Fleet Strengths value | Navy Strength_Aircraft Carrier Fleet Strength value | Navy Strength_Submarine Fleet Strength value | Navy Strength_Destroyer Fleet Strength value | Navy Strength_Frigate Fleet Strength value | Finances_defense spending budget value | Finances_External Debt value | Logistics_Airport Totals value | Natural resources_Oil Production value | Natural resources_Oil Consumption value | Natural resources_Proven Oil Reserves value | Manpower_Available Manpower value | Manpower_Total Population value | Geography_Total Square Land Area value | Geography_Total Coastline Coverage value | Geography_Total Waterway Coverage value | Geography_Total Border Coverage value | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 110 | South Korea | 0.1509 | 1649 | 414 | 71 | 41 | 298 | 803 | 112 | 2614 | 14000 | 3040 | 3854 | 575 | 234.0 | NaN | NaN | NaN | NaN | 44,00,00,00,000 | 3,84,60,00,00,000 | 111 | 0 | 28,00,000 | 0 | 2,57,09,049 | 5,14,18,097 | 99720 | 2413 | 1600 | 237.0 |
| 132 | Uzbekistan | 0.8086 | 185 | 66 | 20 | 18 | 2 | 79 | 25 | 420 | 1215 | 137 | 0 | 98 | 0.0 | NaN | NaN | NaN | NaN | 97,50,00,000 | 16,90,00,00,000 | 53 | 46070 | 1,42,000 | 59,40,00,000 | 1,59,12,566 | 3,00,23,709 | 4,47,400 | 420 | 1100 | 6893.0 |
df.loc[df["country"] == "Uzbekistan",
['Navy Strength_Navy Fleet Strengths value',
'Navy Strength_Aircraft Carrier Fleet Strength value',
'Navy Strength_Submarine Fleet Strength value',
'Navy Strength_Destroyer Fleet Strength value',
'Navy Strength_Frigate Fleet Strength value',
]]
| Navy Strength_Navy Fleet Strengths value | Navy Strength_Aircraft Carrier Fleet Strength value | Navy Strength_Submarine Fleet Strength value | Navy Strength_Destroyer Fleet Strength value | Navy Strength_Frigate Fleet Strength value | |
|---|---|---|---|---|---|
| 132 | 0.0 | NaN | NaN | NaN | NaN |
df.loc[df["country"] == "Uzbekistan",
['Navy Strength_Navy Fleet Strengths value',
'Navy Strength_Aircraft Carrier Fleet Strength value',
'Navy Strength_Submarine Fleet Strength value',
'Navy Strength_Destroyer Fleet Strength value',
'Navy Strength_Frigate Fleet Strength value',
]] = 0
df.loc[df["country"] == "South Korea",
['Navy Strength_Navy Fleet Strengths value',
'Navy Strength_Aircraft Carrier Fleet Strength value',
'Navy Strength_Submarine Fleet Strength value',
'Navy Strength_Destroyer Fleet Strength value',
'Navy Strength_Frigate Fleet Strength value',
]]
| Navy Strength_Navy Fleet Strengths value | Navy Strength_Aircraft Carrier Fleet Strength value | Navy Strength_Submarine Fleet Strength value | Navy Strength_Destroyer Fleet Strength value | Navy Strength_Frigate Fleet Strength value | |
|---|---|---|---|---|---|
| 110 | 234.0 | NaN | NaN | NaN | NaN |
df.loc[((df['Navy Strength_Navy Fleet Strengths value'] > 200) &
(df['Navy Strength_Navy Fleet Strengths value'] < 250)),
['country',
'Navy Strength_Navy Fleet Strengths value',
'Navy Strength_Aircraft Carrier Fleet Strength value',
'Navy Strength_Submarine Fleet Strength value',
'Navy Strength_Destroyer Fleet Strength value',
'Navy Strength_Frigate Fleet Strength value',
]]
| country | Navy Strength_Navy Fleet Strengths value | Navy Strength_Aircraft Carrier Fleet Strength value | Navy Strength_Submarine Fleet Strength value | Navy Strength_Destroyer Fleet Strength value | Navy Strength_Frigate Fleet Strength value | |
|---|---|---|---|---|---|---|
| 2 | Algeria | 201.0 | 0.0 | 6.0 | 0.0 | 5.0 |
| 39 | Finland | 246.0 | 0.0 | 0.0 | 0.0 | 0.0 |
| 55 | Italy | 249.0 | 2.0 | 8.0 | 4.0 | 12.0 |
| 110 | South Korea | 234.0 | NaN | NaN | NaN | NaN |
df.loc[df["country"] == "France",
['country',
'Navy Strength_Navy Fleet Strengths value',
'Navy Strength_Aircraft Carrier Fleet Strength value',
'Navy Strength_Submarine Fleet Strength value',
'Navy Strength_Destroyer Fleet Strength value',
'Navy Strength_Frigate Fleet Strength value',
]]
| country | Navy Strength_Navy Fleet Strengths value | Navy Strength_Aircraft Carrier Fleet Strength value | Navy Strength_Submarine Fleet Strength value | Navy Strength_Destroyer Fleet Strength value | Navy Strength_Frigate Fleet Strength value | |
|---|---|---|---|---|---|---|
| 40 | France | 180.0 | 4.0 | 9.0 | 11.0 | 11.0 |
df.loc[df["country"] == "South Korea"]
| country | Military Strength Power Index | Airforce Strength_Aircraft Strength value | Airforce Strength_Fighter/Interceptor Strength value | Airforce Strength_Attack Aircraft Strength value | Airforce Strength_Transport Aircraft Fleet Strength value | Airforce Strength_Trainer Aircraft Fleet value | Airforce Strength_Helicopter Fleet Strength value | Airforce Strength_Attack Helicopter Fleet Strength value | Land Strength_Tank Strength value | Land Strength_AFV/APC Strength value | Land Strength_Self-Propelled Artillery Strength value | Land Strength_Towed Artillery Strength value | Land Strength_Rocket Projector Strength value | Navy Strength_Navy Fleet Strengths value | Navy Strength_Aircraft Carrier Fleet Strength value | Navy Strength_Submarine Fleet Strength value | Navy Strength_Destroyer Fleet Strength value | Navy Strength_Frigate Fleet Strength value | Finances_defense spending budget value | Finances_External Debt value | Logistics_Airport Totals value | Natural resources_Oil Production value | Natural resources_Oil Consumption value | Natural resources_Proven Oil Reserves value | Manpower_Available Manpower value | Manpower_Total Population value | Geography_Total Square Land Area value | Geography_Total Coastline Coverage value | Geography_Total Waterway Coverage value | Geography_Total Border Coverage value | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 110 | South Korea | 0.1509 | 1649 | 414 | 71 | 41 | 298 | 803 | 112 | 2614 | 14000 | 3040 | 3854 | 575 | 234.0 | NaN | NaN | NaN | NaN | 44,00,00,00,000 | 3,84,60,00,00,000 | 111 | 0 | 28,00,000 | 0 | 2,57,09,049 | 5,14,18,097 | 99720 | 2413 | 1600 | 237.0 |
# All the numbers derived from South Korea Navy https://www.globalfirepower.com/
df.loc[df["country"] == "South Korea",'Navy Strength_Aircraft Carrier Fleet Strength value'] = 0
df.loc[df["country"] == "South Korea",'Navy Strength_Submarine Fleet Strength value'] = 19
df.loc[df["country"] == "South Korea",'Navy Strength_Destroyer Fleet Strength value'] = 12
df.loc[df["country"] == "South Korea",'Navy Strength_Frigate Fleet Strength value'] = 12
df.loc[df["country"] == "South Korea"]
| country | Military Strength Power Index | Airforce Strength_Aircraft Strength value | Airforce Strength_Fighter/Interceptor Strength value | Airforce Strength_Attack Aircraft Strength value | Airforce Strength_Transport Aircraft Fleet Strength value | Airforce Strength_Trainer Aircraft Fleet value | Airforce Strength_Helicopter Fleet Strength value | Airforce Strength_Attack Helicopter Fleet Strength value | Land Strength_Tank Strength value | Land Strength_AFV/APC Strength value | Land Strength_Self-Propelled Artillery Strength value | Land Strength_Towed Artillery Strength value | Land Strength_Rocket Projector Strength value | Navy Strength_Navy Fleet Strengths value | Navy Strength_Aircraft Carrier Fleet Strength value | Navy Strength_Submarine Fleet Strength value | Navy Strength_Destroyer Fleet Strength value | Navy Strength_Frigate Fleet Strength value | Finances_defense spending budget value | Finances_External Debt value | Logistics_Airport Totals value | Natural resources_Oil Production value | Natural resources_Oil Consumption value | Natural resources_Proven Oil Reserves value | Manpower_Available Manpower value | Manpower_Total Population value | Geography_Total Square Land Area value | Geography_Total Coastline Coverage value | Geography_Total Waterway Coverage value | Geography_Total Border Coverage value | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 110 | South Korea | 0.1509 | 1649 | 414 | 71 | 41 | 298 | 803 | 112 | 2614 | 14000 | 3040 | 3854 | 575 | 234.0 | 0.0 | 19.0 | 12.0 | 12.0 | 44,00,00,00,000 | 3,84,60,00,00,000 | 111 | 0 | 28,00,000 | 0 | 2,57,09,049 | 5,14,18,097 | 99720 | 2413 | 1600 | 237.0 |
sns.displot(
data=df.isnull().melt(value_name="missing"),
y="variable",
hue="missing",
multiple="fill",
height=4,
aspect=1.5
)
plt.axvline(0.25, color="r")
plt.subplots_adjust(left=0.1, right=0.8, bottom=0.1, top=0.9) # Increased left margin
plt.show()
df.loc[df['Geography_Total Coastline Coverage value'].isnull()]
| country | Military Strength Power Index | Airforce Strength_Aircraft Strength value | Airforce Strength_Fighter/Interceptor Strength value | Airforce Strength_Attack Aircraft Strength value | Airforce Strength_Transport Aircraft Fleet Strength value | Airforce Strength_Trainer Aircraft Fleet value | Airforce Strength_Helicopter Fleet Strength value | Airforce Strength_Attack Helicopter Fleet Strength value | Land Strength_Tank Strength value | Land Strength_AFV/APC Strength value | Land Strength_Self-Propelled Artillery Strength value | Land Strength_Towed Artillery Strength value | Land Strength_Rocket Projector Strength value | Navy Strength_Navy Fleet Strengths value | Navy Strength_Aircraft Carrier Fleet Strength value | Navy Strength_Submarine Fleet Strength value | Navy Strength_Destroyer Fleet Strength value | Navy Strength_Frigate Fleet Strength value | Finances_defense spending budget value | Finances_External Debt value | Logistics_Airport Totals value | Natural resources_Oil Production value | Natural resources_Oil Consumption value | Natural resources_Proven Oil Reserves value | Manpower_Available Manpower value | Manpower_Total Population value | Geography_Total Square Land Area value | Geography_Total Coastline Coverage value | Geography_Total Waterway Coverage value | Geography_Total Border Coverage value | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 5 | Armenia | 2.1251 | 64 | 0 | 9 | 3 | 13 | 37 | 20 | 110 | 748 | 38 | 150 | 68 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1,38,50,00,000 | 10,41,00,00,000 | 11 | 0 | 47500 | 0 | 16,96,085 | 30,38,217 | 29743 | NaN | 0 | 1570.0 |
| 7 | Austria | 0.9568 | 120 | 15 | 0 | 11 | 32 | 62 | 0 | 56 | 467 | 33 | 0 | 0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 3,38,00,00,000 | 6,30,80,00,00,000 | 52 | 14260 | 2,15,000 | 4,30,00,000 | 40,17,691 | 87,93,370 | 83871 | NaN | 0 | 2524.0 |
| 11 | Belarus | 0.8179 | 202 | 39 | 68 | 4 | 28 | 63 | 21 | 532 | 1560 | 482 | 228 | 238 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 62,37,02,800 | 39,92,00,00,000 | 65 | 32000 | 1,90,000 | 19,80,00,000 | 49,82,905 | 95,27,543 | 2,07,600 | NaN | 2500 | 3599.0 |
| 13 | Bhutan | 10.1681 | 2 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 27 | 0 | 0 | 0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 2,51,20,000 | 2,67,10,00,000 | 2 | 0 | 2000 | 0 | 1,76,808 | 7,66,397 | 38394 | NaN | 0 | 1136.0 |
| 14 | Bolivia | 0.9942 | 69 | 0 | 0 | 14 | 23 | 38 | 0 | 54 | 137 | 0 | 86 | 0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 66,00,00,000 | 12,81,00,00,000 | 855 | 59330 | 60000 | 21,15,00,000 | 50,75,416 | 1,13,06,341 | 10,98,581 | NaN | 10000 | 7252.0 |
| 16 | Botswana | 2.0582 | 45 | 10 | 0 | 11 | 8 | 16 | 0 | 55 | 245 | 0 | 30 | 20 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 45,00,00,000 | 2,18,70,00,000 | 74 | 0 | 16500 | 0 | 9,62,617 | 22,49,104 | 5,81,730 | NaN | 0 | 4347.0 |
| 19 | Burkina Faso | 1.9009 | 16 | 0 | 3 | 1 | 4 | 8 | 2 | 0 | 350 | 0 | 0 | 0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 13,00,00,000 | 3,05,60,00,000 | 23 | 0 | 10500 | 0 | 78,00,000 | 1,97,42,715 | 2,74,200 | NaN | 0 | 3611.0 |
| 23 | Central African Republic | 3.2889 | 3 | 0 | 0 | 2 | 0 | 1 | 0 | 4 | 55 | 0 | 20 | 0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 2,00,00,000 | 77,99,00,000 | 39 | 0 | 4500 | 0 | 23,48,581 | 57,45,062 | 6,22,984 | NaN | 2800 | 5920.0 |
| 24 | Chad | 1.6383 | 35 | 0 | 6 | 6 | 4 | 17 | 3 | 60 | 372 | 10 | 51 | 10 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 20,00,00,000 | 1,72,40,00,000 | 59 | 1,28,000 | 1,00,000 | 1,50,00,00,000 | 60,30,834 | 1,58,33,116 | 12,84,000 | NaN | 0 | 6406.0 |
| 30 | Czechia | 0.5531 | 95 | 12 | 16 | 8 | 15 | 44 | 15 | 116 | 682 | 86 | 85 | 0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 2,96,90,00,000 | 2,05,20,00,00,000 | 128 | 2000 | 2,00,000 | 1,50,00,000 | 50,11,174 | 1,06,86,269 | 78867 | NaN | 664 | 2046.0 |
| 38 | Ethiopia | 0.8581 | 86 | 24 | 0 | 9 | 20 | 33 | 8 | 400 | 114 | 67 | 650 | 183 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 35,00,00,000 | 26,05,00,00,000 | 57 | 0 | 55000 | 4,28,000 | 4,11,43,474 | 10,83,86,391 | 11,04,300 | NaN | 1,04,300 | 5925.0 |
| 48 | Hungary | 0.8215 | 47 | 12 | 0 | 5 | 6 | 24 | 8 | 30 | 944 | 0 | 300 | 0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 2,08,00,00,000 | 1,38,10,00,00,000 | 41 | 14000 | 1,45,000 | 2,51,00,000 | 46,18,081 | 98,25,704 | 1,03,000 | NaN | 1622 | 2106.0 |
| 62 | Kyrgyzstan | 1.9244 | 5 | 0 | 0 | 0 | 0 | 5 | 2 | 150 | 385 | 30 | 141 | 21 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 2,00,00,000 | 8,16,40,00,000 | 28 | 1000 | 17200 | 4,00,00,000 | 30,29,935 | 58,49,296 | 1,99,951 | NaN | 600 | 4573.0 |
| 63 | Laos | 3.4433 | 33 | 0 | 0 | 2 | 4 | 27 | 0 | 65 | 30 | 0 | 62 | 0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1,85,00,000 | 14,90,00,00,000 | 41 | 0 | 4500 | 0 | 32,48,143 | 72,34,171 | 2,36,800 | NaN | 4600 | 5274.0 |
| 71 | Mali | 1.8941 | 29 | 9 | 0 | 6 | 5 | 8 | 6 | 80 | 248 | 0 | 50 | 32 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 7,00,00,000 | 4,19,20,00,000 | 25 | 0 | 5500 | 0 | 59,91,557 | 1,84,29,893 | 12,40,192 | NaN | 0 | 7908.0 |
| 74 | Moldova | 2.1291 | 3 | 0 | 0 | 1 | 0 | 2 | 0 | 0 | 341 | 9 | 52 | 11 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 3,00,00,000 | 6,54,90,00,000 | 7 | 0 | 16320 | 0 | 20,14,503 | 34,37,720 | 33851 | NaN | 558 | 1885.0 |
| 75 | Mongolia | 2.0299 | 9 | 0 | 0 | 3 | 0 | 6 | 0 | 470 | 750 | 0 | 300 | 130 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 15,50,00,000 | 25,33,00,00,000 | 44 | 20000 | 25000 | 0 | 18,18,609 | 31,03,428 | 15,64,116 | NaN | 580 | 8082.0 |
| 81 | Nepal | 2.9891 | 16 | 0 | 0 | 3 | 0 | 13 | 0 | 0 | 214 | 0 | 84 | 0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 21,30,00,000 | 5,84,90,00,000 | 47 | 0 | 20000 | 0 | 1,47,39,923 | 2,97,17,587 | 1,47,181 | NaN | 0 | 3159.0 |
| 85 | Niger | 2.0153 | 16 | 0 | 2 | 5 | 0 | 7 | 1 | 0 | 182 | 0 | 0 | 0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 32,50,00,000 | 3,72,80,00,000 | 30 | 11000 | 6500 | 15,00,00,000 | 67,54,519 | 1,98,66,231 | 12,67,000 | NaN | 300 | 5834.0 |
| 88 | North Macedonia | 3.1808 | 20 | 0 | 0 | 0 | 10 | 14 | 4 | 31 | 251 | 0 | 144 | 24 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 10,81,52,512 | 8,79,00,00,000 | 10 | 0 | 18500 | 0 | 10,53,116 | 21,18,945 | 25713 | NaN | 280 | 838.0 |
| 93 | Paraguay | 2.1898 | 33 | 0 | 0 | 6 | 15 | 11 | 0 | 13 | 63 | 0 | 108 | 0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 25,00,00,000 | 17,70,00,00,000 | 799 | 0 | 30000 | 0 | 33,72,366 | 70,25,763 | 4,06,752 | NaN | 3100 | 4655.0 |
| 103 | Serbia | 0.9479 | 109 | 9 | 17 | 1 | 38 | 44 | 0 | 293 | 904 | 87 | 144 | 88 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 90,70,00,000 | 29,50,00,00,000 | 26 | 18740 | 75000 | 7,75,00,000 | 34,68,274 | 70,78,110 | 77474 | NaN | 587 | 2322.0 |
| 106 | Slovakia | 0.8466 | 47 | 10 | 0 | 7 | 8 | 21 | 0 | 20 | 661 | 16 | 9 | 25 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 2,12,18,17,575 | 75,04,00,00,000 | 35 | 200 | 82000 | 90,00,000 | 27,76,970 | 54,45,040 | 49035 | NaN | 172 | 1587.0 |
| 111 | South Sudan | 2.3501 | 19 | 0 | 0 | 2 | 0 | 17 | 6 | 110 | 200 | 24 | 0 | 14 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 8,00,00,000 | 2,25,00,00,000 | 85 | 1,50,200 | 60000 | 3,75,00,00,000 | 52,45,155 | 1,02,04,581 | 6,44,329 | NaN | 0 | 6018.0 |
| 117 | Switzerland | 0.5259 | 169 | 54 | 0 | 18 | 54 | 42 | 0 | 326 | 1338 | 224 | 0 | 0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 5,00,00,00,000 | 16,64,00,00,00,000 | 63 | 0 | 2,60,000 | 0 | 36,32,250 | 82,92,809 | 41277 | NaN | 1299 | 1770.0 |
| 120 | Tajikistan | 1.8661 | 25 | 0 | 0 | 1 | 4 | 20 | 6 | 253 | 347 | 0 | 90 | 128 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1,60,00,00,000 | 5,75,00,00,000 | 24 | 180 | 20500 | 1,20,00,000 | 40,95,924 | 86,04,882 | 1,43,100 | NaN | 200 | 4130.0 |
| 126 | Uganda | 1.6176 | 48 | 10 | 0 | 2 | 10 | 26 | 5 | 371 | 1081 | 6 | 53 | 26 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 93,50,00,000 | 10,80,00,00,000 | 47 | 0 | 17500 | 2,50,00,00,000 | 1,47,07,350 | 4,08,53,749 | 2,41,038 | NaN | 0 | 2729.0 |
| 136 | Zambia | 1.6464 | 108 | 18 | 0 | 11 | 52 | 27 | 0 | 75 | 184 | 0 | 42 | 50 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 4,00,00,000 | 11,66,00,00,000 | 88 | 0 | 21000 | 0 | 61,66,905 | 1,64,45,079 | 7,52,618 | NaN | 2250 | 6043.0 |
| 137 | Zimbabwe | 1.7577 | 90 | 10 | 0 | 14 | 38 | 28 | 6 | 42 | 300 | 0 | 65 | 22 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 10,00,00,000 | 9,35,70,00,000 | 196 | 0 | 19500 | 0 | 55,84,086 | 1,40,30,368 | 3,90,757 | NaN | 0 | 3229.0 |
df.loc[df['Geography_Total Coastline Coverage value'].isnull(),
'Geography_Total Coastline Coverage value'] = 0
df.loc[df['Geography_Total Border Coverage value'].isnull()]
| country | Military Strength Power Index | Airforce Strength_Aircraft Strength value | Airforce Strength_Fighter/Interceptor Strength value | Airforce Strength_Attack Aircraft Strength value | Airforce Strength_Transport Aircraft Fleet Strength value | Airforce Strength_Trainer Aircraft Fleet value | Airforce Strength_Helicopter Fleet Strength value | Airforce Strength_Attack Helicopter Fleet Strength value | Land Strength_Tank Strength value | Land Strength_AFV/APC Strength value | Land Strength_Self-Propelled Artillery Strength value | Land Strength_Towed Artillery Strength value | Land Strength_Rocket Projector Strength value | Navy Strength_Navy Fleet Strengths value | Navy Strength_Aircraft Carrier Fleet Strength value | Navy Strength_Submarine Fleet Strength value | Navy Strength_Destroyer Fleet Strength value | Navy Strength_Frigate Fleet Strength value | Finances_defense spending budget value | Finances_External Debt value | Logistics_Airport Totals value | Natural resources_Oil Production value | Natural resources_Oil Consumption value | Natural resources_Proven Oil Reserves value | Manpower_Available Manpower value | Manpower_Total Population value | Geography_Total Square Land Area value | Geography_Total Coastline Coverage value | Geography_Total Waterway Coverage value | Geography_Total Border Coverage value | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 6 | Australia | 0.3225 | 464 | 82 | 6 | 38 | 174 | 133 | 22 | 59 | 3051 | 0 | 54 | 0 | 48.0 | 2.0 | 6.0 | 2.0 | 8.0 | 26,30,00,00,000 | 17,14,00,00,00,000 | 480 | 2,63,000 | 10,05,000 | 1,82,10,00,000 | 1,08,08,002 | 2,34,70,145 | 77,41,220 | 25760 | 2000 | NaN |
| 9 | Bahrain | 1.8547 | 109 | 17 | 0 | 2 | 37 | 65 | 22 | 180 | 843 | 33 | 26 | 17 | 39.0 | 0.0 | 0.0 | 0.0 | 1.0 | 1,41,50,00,000 | 52,15,00,00,000 | 4 | 45000 | 55000 | 12,46,00,000 | 8,06,505 | 14,22,659 | 760 | 161 | 0 | NaN |
| 57 | Japan | 0.1501 | 1561 | 279 | 12 | 60 | 427 | 637 | 119 | 1004 | 3130 | 238 | 500 | 99 | 155.0 | 4.0 | 20.0 | 40.0 | 0.0 | 49,00,00,00,000 | 32,40,00,00,00,000 | 175 | 3841 | 40,00,000 | 4,41,20,000 | 5,38,73,803 | 12,61,68,156 | 3,77,915 | 29751 | 1770 | NaN |
| 69 | Madagascar | 3.0869 | 6 | 0 | 0 | 0 | 0 | 6 | 0 | 12 | 103 | 0 | 25 | 0 | 8.0 | 0.0 | 0.0 | 0.0 | 0.0 | 11,50,00,000 | 4,08,90,00,000 | 83 | 0 | 18500 | 0 | 1,01,45,026 | 2,56,83,610 | 5,87,040 | 4828 | 600 | NaN |
| 83 | New Zealand | 1.3684 | 48 | 0 | 0 | 7 | 13 | 22 | 0 | 0 | 200 | 0 | 24 | 0 | 11.0 | 0.0 | 0.0 | 0.0 | 2.0 | 4,30,00,00,000 | 91,62,00,00,000 | 123 | 31480 | 1,50,000 | 5,69,00,000 | 21,15,989 | 45,45,627 | 2,67,710 | 15134 | 0 | NaN |
| 95 | Philippines | 0.7852 | 171 | 0 | 19 | 23 | 24 | 97 | 0 | 7 | 513 | 0 | 286 | 0 | 103.0 | 0.0 | 0.0 | 0.0 | 2.0 | 3,47,00,00,000 | 76,18,00,00,000 | 247 | 15000 | 3,20,000 | 13,85,00,000 | 5,18,87,757 | 10,58,93,381 | 3,00,000 | 36289 | 3219 | NaN |
| 105 | Singapore | 0.7966 | 235 | 100 | 0 | 9 | 36 | 77 | 17 | 180 | 3000 | 48 | 77 | 24 | 40.0 | 0.0 | 0.0 | 0.0 | 6.0 | 11,20,00,00,000 | 5,66,10,00,00,000 | 9 | 0 | 13,40,000 | 0 | 40,17,314 | 59,95,991 | 697 | 193 | 10 | NaN |
| 113 | Sri Lanka | 1.4661 | 77 | 0 | 0 | 15 | 6 | 54 | 9 | 202 | 570 | 0 | 209 | 22 | 40.0 | 0.0 | 0.0 | 0.0 | 0.0 | 2,50,00,00,000 | 51,72,00,00,000 | 19 | 0 | 90000 | 0 | 1,09,27,071 | 2,25,76,592 | 65610 | 1340 | 160 | NaN |
| 119 | Taiwan | 0.4008 | 744 | 289 | 0 | 19 | 207 | 210 | 91 | 1180 | 2000 | 482 | 1160 | 115 | 117.0 | 0.0 | 4.0 | 4.0 | 22.0 | 10,72,50,00,000 | 1,81,90,00,00,000 | 37 | 196 | 10,32,000 | 23,80,000 | 1,21,96,809 | 2,35,45,963 | 35980 | 1566 | 3720 | NaN |
df.loc[df['Geography_Total Border Coverage value'].isnull(),
'Geography_Total Border Coverage value' ] = 0
sns.displot(
data=df.isnull().melt(value_name="missing"),
y="variable",
hue="missing",
multiple="fill",
height=4,
aspect=1.5
)
plt.axvline(0.25, color="r")
plt.subplots_adjust(left=0.1, right=0.8, bottom=0.1, top=0.9) # Increased left margin
plt.show()
df.reset_index(drop=True,inplace=True)
df.info()
<class 'pandas.core.frame.DataFrame'> RangeIndex: 138 entries, 0 to 137 Data columns (total 31 columns): # Column Non-Null Count Dtype --- ------ -------------- ----- 0 country 138 non-null object 1 Military Strength Power Index 138 non-null float64 2 Airforce Strength_Aircraft Strength value 138 non-null int64 3 Airforce Strength_Fighter/Interceptor Strength value 138 non-null int64 4 Airforce Strength_Attack Aircraft Strength value 138 non-null int64 5 Airforce Strength_Transport Aircraft Fleet Strength value 138 non-null int64 6 Airforce Strength_Trainer Aircraft Fleet value 138 non-null int64 7 Airforce Strength_Helicopter Fleet Strength value 138 non-null int64 8 Airforce Strength_Attack Helicopter Fleet Strength value 138 non-null int64 9 Land Strength_Tank Strength value 138 non-null int64 10 Land Strength_AFV/APC Strength value 138 non-null int64 11 Land Strength_Self-Propelled Artillery Strength value 138 non-null int64 12 Land Strength_Towed Artillery Strength value 138 non-null int64 13 Land Strength_Rocket Projector Strength value 138 non-null int64 14 Navy Strength_Navy Fleet Strengths value 138 non-null float64 15 Navy Strength_Aircraft Carrier Fleet Strength value 138 non-null float64 16 Navy Strength_Submarine Fleet Strength value 138 non-null float64 17 Navy Strength_Destroyer Fleet Strength value 138 non-null float64 18 Navy Strength_Frigate Fleet Strength value 138 non-null float64 19 Finances_defense spending budget value 138 non-null object 20 Finances_External Debt value 138 non-null object 21 Logistics_Airport Totals value 138 non-null int64 22 Natural resources_Oil Production value 138 non-null object 23 Natural resources_Oil Consumption value 138 non-null object 24 Natural resources_Proven Oil Reserves value 138 non-null object 25 Manpower_Available Manpower value 138 non-null object 26 Manpower_Total Population value 138 non-null object 27 Geography_Total Square Land Area value 138 non-null object 28 Geography_Total Coastline Coverage value 138 non-null object 29 Geography_Total Waterway Coverage value 138 non-null object 30 Geography_Total Border Coverage value 138 non-null float64 dtypes: float64(7), int64(13), object(11) memory usage: 33.5+ KB
df.select_dtypes("object")
| country | Finances_defense spending budget value | Finances_External Debt value | Natural resources_Oil Production value | Natural resources_Oil Consumption value | Natural resources_Proven Oil Reserves value | Manpower_Available Manpower value | Manpower_Total Population value | Geography_Total Square Land Area value | Geography_Total Coastline Coverage value | Geography_Total Waterway Coverage value | |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | Afghanistan | 12,00,00,00,000 | 2,84,00,00,000 | 0 | 5500 | 0 | 1,43,25,743 | 3,49,40,837 | 6,52,230 | 0 | 1200 |
| 1 | Albania | 25,00,00,000 | 9,50,50,00,000 | 16000 | 42500 | 16,83,00,000 | 15,19,438 | 30,57,220 | 28748 | 362 | 41 |
| 2 | Algeria | 13,00,00,00,000 | 6,26,00,00,000 | 13,06,000 | 3,25,000 | 12,20,00,00,000 | 2,07,41,263 | 4,16,57,488 | 23,81,741 | 998 | 0 |
| 3 | Angola | 7,00,00,00,000 | 42,08,00,00,000 | 16,66,000 | 82300 | 8,27,30,00,000 | 62,44,205 | 3,03,55,880 | 12,46,700 | 1600 | 1300 |
| 4 | Argentina | 4,20,00,00,000 | 2,14,90,00,00,000 | 4,79,400 | 6,85,000 | 2,18,50,00,000 | 2,01,79,430 | 4,46,94,198 | 27,80,400 | 4989 | 11000 |
| 5 | Armenia | 1,38,50,00,000 | 10,41,00,00,000 | 0 | 47500 | 0 | 16,96,085 | 30,38,217 | 29743 | 0 | 0 |
| 6 | Australia | 26,30,00,00,000 | 17,14,00,00,00,000 | 2,63,000 | 10,05,000 | 1,82,10,00,000 | 1,08,08,002 | 2,34,70,145 | 77,41,220 | 25760 | 2000 |
| 7 | Austria | 3,38,00,00,000 | 6,30,80,00,00,000 | 14260 | 2,15,000 | 4,30,00,000 | 40,17,691 | 87,93,370 | 83871 | 0 | 0 |
| 8 | Azerbaijan | 2,80,50,00,000 | 17,41,00,00,000 | 7,89,300 | 1,80,000 | 7,00,00,00,000 | 50,42,346 | 1,00,46,516 | 86600 | 713 | 0 |
| 9 | Bahrain | 1,41,50,00,000 | 52,15,00,00,000 | 45000 | 55000 | 12,46,00,000 | 8,06,505 | 14,22,659 | 760 | 161 | 0 |
| 10 | Bangladesh | 3,80,00,00,000 | 50,26,00,00,000 | 3666 | 1,12,000 | 2,80,00,000 | 7,89,13,289 | 15,94,53,001 | 1,43,998 | 580 | 8370 |
| 11 | Belarus | 62,37,02,800 | 39,92,00,00,000 | 32000 | 1,90,000 | 19,80,00,000 | 49,82,905 | 95,27,543 | 2,07,600 | 0 | 2500 |
| 12 | Belgium | 4,92,10,00,000 | 12,81,00,00,00,000 | 0 | 6,45,000 | 0 | 48,33,107 | 1,15,70,762 | 30528 | 67 | 2043 |
| 13 | Bhutan | 2,51,20,000 | 2,67,10,00,000 | 0 | 2000 | 0 | 1,76,808 | 7,66,397 | 38394 | 0 | 0 |
| 14 | Bolivia | 66,00,00,000 | 12,81,00,00,000 | 59330 | 60000 | 21,15,00,000 | 50,75,416 | 1,13,06,341 | 10,98,581 | 0 | 10000 |
| 15 | Bosnia and Herzegovina | 16,50,00,000 | 10,87,00,00,000 | 0 | 32500 | 0 | 23,94,632 | 38,49,891 | 51197 | 20 | 0 |
| 16 | Botswana | 45,00,00,000 | 2,18,70,00,000 | 0 | 16500 | 0 | 9,62,617 | 22,49,104 | 5,81,730 | 0 | 0 |
| 17 | Brazil | 27,80,00,00,000 | 5,47,40,00,00,000 | 26,22,000 | 30,20,000 | 13,00,00,00,000 | 10,77,64,996 | 20,88,46,892 | 85,14,877 | 7491 | 50000 |
| 18 | Bulgaria | 1,07,90,00,000 | 42,06,00,00,000 | 1000 | 1,15,000 | 1,50,00,000 | 32,78,916 | 70,57,504 | 1,10,880 | 354 | 470 |
| 19 | Burkina Faso | 13,00,00,000 | 3,05,60,00,000 | 0 | 10500 | 0 | 78,00,000 | 1,97,42,715 | 2,74,200 | 0 | 0 |
| 20 | Cambodia | 60,40,00,000 | 11,87,00,00,000 | 0 | 42500 | 0 | 81,20,963 | 1,64,49,519 | 1,81,035 | 443 | 3700 |
| 21 | Cameroon | 34,70,00,000 | 9,37,50,00,000 | 75720 | 32500 | 20,00,00,000 | 94,87,157 | 2,56,40,965 | 4,75,440 | 400 | 0 |
| 22 | Canada | 22,50,00,00,000 | 16,08,00,00,00,000 | 39,77,000 | 25,00,000 | 1,69,70,00,00,000 | 1,61,10,865 | 3,58,81,659 | 99,84,670 | 2,02,080 | 636 |
| 23 | Central African Republic | 2,00,00,000 | 77,99,00,000 | 0 | 4500 | 0 | 23,48,581 | 57,45,062 | 6,22,984 | 0 | 2800 |
| 24 | Chad | 20,00,00,000 | 1,72,40,00,000 | 1,28,000 | 1,00,000 | 1,50,00,00,000 | 60,30,834 | 1,58,33,116 | 12,84,000 | 0 | 0 |
| 25 | Chile | 4,25,00,00,000 | 1,83,40,00,00,000 | 3244 | 3,25,000 | 15,00,00,000 | 86,57,902 | 1,79,25,262 | 7,56,102 | 6435 | 12290 |
| 26 | China | 2,37,00,00,00,000 | 15,98,00,00,00,000 | 38,38,000 | 1,35,00,000 | 25,62,00,00,000 | 75,28,55,402 | 1,38,46,88,986 | 95,96,961 | 14500 | 1,10,000 |
| 27 | Colombia | 10,60,00,00,000 | 1,24,60,00,00,000 | 8,53,600 | 3,00,000 | 2,00,20,00,000 | 2,40,84,498 | 4,81,68,996 | 11,38,910 | 3208 | 24725 |
| 28 | Croatia | 80,00,00,000 | 48,10,00,00,000 | 14000 | 82000 | 7,10,00,000 | 20,88,265 | 42,70,480 | 56594 | 5835 | 785 |
| 29 | Cuba | 50,00,00,000 | 30,06,00,00,000 | 50000 | 1,52,000 | 12,40,00,000 | 59,80,621 | 1,11,16,396 | 1,10,860 | 3735 | 240 |
| 30 | Czechia | 2,96,90,00,000 | 2,05,20,00,00,000 | 2000 | 2,00,000 | 1,50,00,000 | 50,11,174 | 1,06,86,269 | 78867 | 0 | 664 |
| 31 | Democratic Republic of the Congo | 10,00,00,000 | 4,96,30,00,000 | 19160 | 10500 | 18,00,00,000 | 3,41,12,410 | 8,52,81,024 | 23,44,858 | 37 | 15000 |
| 32 | Denmark | 4,76,00,00,000 | 4,84,80,00,00,000 | 1,37,100 | 1,62,000 | 49,06,00,000 | 25,90,457 | 58,09,502 | 43094 | 7314 | 400 |
| 33 | Dominican Republic | 76,00,00,000 | 29,16,00,00,000 | 0 | 1,25,000 | 0 | 48,19,818 | 1,02,98,756 | 48320 | 1288 | 350 |
| 34 | Ecuador | 2,50,00,00,000 | 39,29,00,00,000 | 5,31,300 | 2,82,000 | 8,27,30,00,000 | 76,96,551 | 1,64,98,502 | 2,83,560 | 2237 | 1500 |
| 35 | Egypt | 11,20,00,00,000 | 77,47,00,00,000 | 5,89,400 | 8,32,000 | 4,40,00,00,000 | 4,29,46,553 | 9,94,13,317 | 10,01,450 | 2450 | 3500 |
| 36 | El Salvador | 16,70,00,000 | 15,51,00,00,000 | 0 | 45600 | 0 | 31,06,010 | 61,87,271 | 21041 | 307 | 0 |
| 37 | Estonia | 68,50,00,000 | 19,05,00,00,000 | 0 | 27500 | 0 | 5,96,014 | 12,44,288 | 45228 | 3794 | 335 |
| 38 | Ethiopia | 35,00,00,000 | 26,05,00,00,000 | 0 | 55000 | 4,28,000 | 4,11,43,474 | 10,83,86,391 | 11,04,300 | 0 | 1,04,300 |
| 39 | Finland | 3,57,00,00,000 | 1,50,60,00,00,000 | 0 | 2,05,000 | 0 | 23,07,420 | 55,37,364 | 3,38,145 | 1250 | 7842 |
| 40 | France | 41,50,00,00,000 | 53,60,00,00,00,000 | 15170 | 16,00,000 | 7,23,50,000 | 3,01,11,868 | 6,73,64,357 | 6,43,801 | 4853 | 8501 |
| 41 | Gabon | 8,30,00,000 | 6,49,00,00,000 | 1,98,800 | 16500 | 2,00,00,00,000 | 8,42,741 | 21,19,036 | 2,67,667 | 885 | 1600 |
| 42 | Georgia | 32,70,00,000 | 16,99,00,00,000 | 400 | 18500 | 3,50,00,000 | 22,49,744 | 49,26,087 | 69700 | 310 | 4349 |
| 43 | Germany | 50,00,00,00,000 | 53,26,00,00,00,000 | 43410 | 25,00,000 | 14,54,00,000 | 3,70,10,559 | 8,04,57,737 | 3,57,022 | 2389 | 7467 |
| 44 | Ghana | 71,00,00,000 | 22,14,00,00,000 | 1,51,000 | 65000 | 66,00,00,000 | 1,25,61,805 | 2,81,02,471 | 2,38,533 | 539 | 1293 |
| 45 | Greece | 4,84,40,00,000 | 5,06,60,00,00,000 | 2753 | 3,50,000 | 1,00,00,000 | 49,93,347 | 1,07,61,523 | 1,31,957 | 13676 | 6 |
| 46 | Guatemala | 24,00,00,000 | 22,92,00,00,000 | 9666 | 85000 | 8,30,70,000 | 70,63,622 | 1,65,81,273 | 1,08,889 | 400 | 990 |
| 47 | Honduras | 20,50,00,000 | 8,62,50,00,000 | 0 | 60000 | 0 | 41,04,696 | 91,82,766 | 1,12,090 | 832 | 465 |
| 48 | Hungary | 2,08,00,00,000 | 1,38,10,00,00,000 | 14000 | 1,45,000 | 2,51,00,000 | 46,18,081 | 98,25,704 | 1,03,000 | 0 | 1622 |
| 49 | India | 61,00,00,00,000 | 5,01,60,00,00,000 | 7,33,900 | 50,00,000 | 4,62,10,00,000 | 62,24,80,340 | 1,29,68,34,042 | 32,87,263 | 7000 | 14500 |
| 50 | Indonesia | 7,60,00,00,000 | 3,44,40,00,00,000 | 8,01,700 | 16,30,000 | 3,23,00,00,000 | 13,08,68,127 | 26,27,87,403 | 19,04,569 | 54716 | 21579 |
| 51 | Iran | 19,60,00,00,000 | 7,99,50,00,000 | 44,69,000 | 20,00,000 | 1,58,40,00,00,000 | 4,73,24,105 | 8,30,24,745 | 16,48,195 | 2440 | 850 |
| 52 | Iraq | 1,73,00,00,000 | 73,02,00,00,000 | 44,54,000 | 8,25,000 | 1,42,50,00,00,000 | 1,63,99,240 | 4,01,94,216 | 4,38,317 | 58 | 5279 |
| 53 | Ireland | 87,00,00,000 | 24,70,00,00,00,000 | 0 | 1,45,000 | 0 | 23,66,779 | 50,68,050 | 70273 | 1448 | 956 |
| 54 | Israel | 20,00,00,00,000 | 88,66,00,00,000 | 390 | 2,50,000 | 1,27,30,000 | 36,47,983 | 84,24,904 | 20770 | 273 | 0 |
| 55 | Italy | 27,80,00,00,000 | 24,44,00,00,00,000 | 77530 | 13,00,000 | 55,67,00,000 | 2,80,11,003 | 6,22,46,674 | 3,01,340 | 7600 | 2400 |
| 56 | Ivory Coast | 55,00,00,000 | 13,07,00,00,000 | 54000 | 25600 | 10,00,00,000 | 1,11,60,747 | 2,62,60,582 | 3,22,463 | 515 | 980 |
| 57 | Japan | 49,00,00,00,000 | 32,40,00,00,00,000 | 3841 | 40,00,000 | 4,41,20,000 | 5,38,73,803 | 12,61,68,156 | 3,77,915 | 29751 | 1770 |
| 58 | Jordan | 2,60,00,00,000 | 29,34,00,00,000 | 22 | 1,10,000 | 10,00,000 | 33,46,692 | 1,04,58,413 | 89342 | 26 | 540 |
| 59 | Kazakhstan | 4,00,00,00,000 | 1,67,50,00,00,000 | 17,77,000 | 2,45,000 | 30,00,00,00,000 | 85,85,003 | 1,87,44,548 | 27,24,900 | 26 | 0 |
| 60 | Kenya | 12,10,00,000 | 27,59,00,00,000 | 0 | 82000 | 0 | 1,96,00,998 | 4,83,97,527 | 5,80,367 | 536 | 0 |
| 61 | Kuwait | 6,83,10,00,000 | 47,24,00,00,000 | 27,53,000 | 3,45,000 | 1,01,50,00,00,000 | 16,41,971 | 29,16,467 | 17818 | 499 | 0 |
| 62 | Kyrgyzstan | 2,00,00,000 | 8,16,40,00,000 | 1000 | 17200 | 4,00,00,000 | 30,29,935 | 58,49,296 | 1,99,951 | 0 | 600 |
| 63 | Laos | 1,85,00,000 | 14,90,00,00,000 | 0 | 4500 | 0 | 32,48,143 | 72,34,171 | 2,36,800 | 0 | 4600 |
| 64 | Latvia | 72,40,00,000 | 40,02,00,00,000 | 0 | 32500 | 0 | 8,40,595 | 19,23,559 | 64589 | 498 | 300 |
| 65 | Lebanon | 2,50,00,00,000 | 39,30,00,00,000 | 0 | 1,10,000 | 0 | 21,35,026 | 61,00,075 | 10400 | 225 | 170 |
| 66 | Liberia | 1,30,00,000 | 1,03,60,00,000 | 0 | 4500 | 0 | 22,26,923 | 48,09,768 | 1,11,369 | 579 | 0 |
| 67 | Libya | 3,00,00,00,000 | 3,02,00,00,000 | 8,97,100 | 3,15,000 | 48,36,00,00,000 | 35,52,871 | 67,54,507 | 17,59,540 | 1770 | 0 |
| 68 | Lithuania | 1,10,70,00,000 | 34,48,00,00,000 | 2000 | 72400 | 1,20,00,000 | 17,79,322 | 27,93,284 | 65300 | 90 | 441 |
| 69 | Madagascar | 11,50,00,000 | 4,08,90,00,000 | 0 | 18500 | 0 | 1,01,45,026 | 2,56,83,610 | 5,87,040 | 4828 | 600 |
| 70 | Malaysia | 4,00,00,00,000 | 2,17,20,00,00,000 | 6,47,900 | 8,35,000 | 3,60,00,00,000 | 1,52,01,837 | 3,18,09,660 | 3,29,847 | 4675 | 7200 |
| 71 | Mali | 7,00,00,000 | 4,19,20,00,000 | 0 | 5500 | 0 | 59,91,557 | 1,84,29,893 | 12,40,192 | 0 | 0 |
| 72 | Mauritania | 5,02,50,000 | 4,15,00,00,000 | 4000 | 18500 | 2,00,00,000 | 15,55,374 | 38,40,429 | 10,30,700 | 754 | 0 |
| 73 | Mexico | 7,00,00,00,000 | 4,45,80,00,00,000 | 19,81,000 | 20,00,000 | 7,64,00,00,000 | 6,04,60,418 | 12,59,59,205 | 19,64,375 | 9330 | 2900 |
| 74 | Moldova | 3,00,00,000 | 6,54,90,00,000 | 0 | 16320 | 0 | 20,14,503 | 34,37,720 | 33851 | 0 | 558 |
| 75 | Mongolia | 15,50,00,000 | 25,33,00,00,000 | 20000 | 25000 | 0 | 18,18,609 | 31,03,428 | 15,64,116 | 0 | 580 |
| 76 | Montenegro | 6,50,00,000 | 2,51,60,00,000 | 0 | 4860 | 0 | 1,46,191 | 6,14,249 | 13812 | 294 | 0 |
| 77 | Morocco | 10,00,00,00,000 | 51,48,00,00,000 | 160 | 2,06,000 | 6,84,000 | 1,71,57,065 | 3,43,14,130 | 4,46,550 | 1835 | 0 |
| 78 | Mozambique | 24,50,00,000 | 10,91,00,00,000 | 0 | 22500 | 0 | 46,29,744 | 2,72,33,789 | 7,99,380 | 2470 | 460 |
| 79 | Myanmar | 2,65,00,00,000 | 6,59,40,00,000 | 12000 | 42600 | 13,90,00,000 | 3,02,58,643 | 5,56,22,506 | 6,76,578 | 1930 | 12800 |
| 80 | Namibia | 50,50,00,000 | 7,96,90,00,000 | 0 | 25000 | 0 | 5,82,642 | 25,33,224 | 8,24,292 | 1572 | 0 |
| 81 | Nepal | 21,30,00,000 | 5,84,90,00,000 | 0 | 20000 | 0 | 1,47,39,923 | 2,97,17,587 | 1,47,181 | 0 | 0 |
| 82 | Netherlands | 12,41,90,00,000 | 40,63,00,00,00,000 | 18170 | 8,40,000 | 11,32,00,000 | 78,20,960 | 1,71,51,228 | 41543 | 451 | 6237 |
| 83 | New Zealand | 4,30,00,00,000 | 91,62,00,00,000 | 31480 | 1,50,000 | 5,69,00,000 | 21,15,989 | 45,45,627 | 2,67,710 | 15134 | 0 |
| 84 | Nicaragua | 14,00,00,000 | 11,31,00,00,000 | 0 | 35000 | 0 | 30,30,436 | 60,85,213 | 1,30,370 | 910 | 2220 |
| 85 | Niger | 32,50,00,000 | 3,72,80,00,000 | 11000 | 6500 | 15,00,00,000 | 67,54,519 | 1,98,66,231 | 12,67,000 | 0 | 300 |
| 86 | Nigeria | 2,15,50,00,000 | 40,96,00,00,000 | 19,46,000 | 2,75,000 | 37,06,00,00,000 | 7,71,08,499 | 20,34,52,505 | 9,23,768 | 853 | 8600 |
| 87 | North Korea | 1,60,00,00,000 | 5,00,00,00,000 | 0 | 15500 | 0 | 1,30,45,878 | 2,53,81,085 | 1,20,538 | 2495 | 2250 |
| 88 | North Macedonia | 10,81,52,512 | 8,79,00,00,000 | 0 | 18500 | 0 | 10,53,116 | 21,18,945 | 25713 | 0 | 280 |
| 89 | Norway | 7,17,90,00,000 | 6,42,30,00,00,000 | 16,18,000 | 2,60,000 | 6,61,10,00,000 | 21,70,365 | 53,72,191 | 3,23,802 | 25148 | 1577 |
| 90 | Oman | 8,68,60,00,000 | 46,27,00,00,000 | 9,70,400 | 1,00,000 | 5,37,30,00,000 | 17,64,529 | 34,94,116 | 3,09,500 | 2092 | 0 |
| 91 | Pakistan | 11,40,00,00,000 | 82,19,00,00,000 | 89720 | 5,75,000 | 35,06,00,000 | 9,63,44,277 | 20,78,62,518 | 7,96,095 | 1046 | 25220 |
| 92 | Panama | 50,00,00,000 | 91,53,00,00,000 | 0 | 1,00,000 | 0 | 17,59,698 | 38,00,644 | 75420 | 2490 | 800 |
| 93 | Paraguay | 25,00,00,000 | 17,70,00,00,000 | 0 | 30000 | 0 | 33,72,366 | 70,25,763 | 4,06,752 | 0 | 3100 |
| 94 | Peru | 2,56,00,00,000 | 66,25,00,00,000 | 43520 | 2,10,000 | 47,30,00,000 | 1,53,52,302 | 3,13,31,228 | 12,85,216 | 2414 | 8808 |
| 95 | Philippines | 3,47,00,00,000 | 76,18,00,00,000 | 15000 | 3,20,000 | 13,85,00,000 | 5,18,87,757 | 10,58,93,381 | 3,00,000 | 36289 | 3219 |
| 96 | Poland | 12,00,00,00,000 | 2,41,00,00,00,000 | 20070 | 5,85,000 | 13,78,00,000 | 1,88,26,137 | 3,84,20,687 | 3,12,685 | 440 | 3997 |
| 97 | Portugal | 3,35,80,00,000 | 4,49,00,00,00,000 | 0 | 2,65,000 | 0 | 48,04,949 | 1,03,55,493 | 92090 | 1793 | 210 |
| 98 | Qatar | 6,00,00,00,000 | 1,67,80,00,00,000 | 15,00,000 | 1,90,000 | 25,24,00,00,000 | 6,12,164 | 23,63,569 | 11586 | 563 | 0 |
| 99 | Republic of the Congo | 71,50,00,000 | 4,60,50,00,000 | 2,44,200 | 1,85,000 | 1,60,00,00,000 | 19,38,754 | 50,62,021 | 3,42,000 | 169 | 1120 |
| 100 | Romania | 5,05,00,00,000 | 95,97,00,00,000 | 73740 | 2,40,000 | 60,00,00,000 | 1,10,07,501 | 2,14,57,116 | 2,38,391 | 225 | 1731 |
| 101 | Russia | 48,00,00,00,000 | 5,39,60,00,00,000 | 1,05,80,000 | 32,25,000 | 80,00,00,00,000 | 6,96,40,160 | 14,21,22,776 | 1,70,98,242 | 37653 | 1,02,000 |
| 102 | Saudi Arabia | 67,60,00,00,000 | 2,05,10,00,00,000 | 1,01,30,000 | 40,00,000 | 2,66,50,00,00,000 | 1,77,03,745 | 3,30,91,113 | 21,49,690 | 2640 | 0 |
| 103 | Serbia | 90,70,00,000 | 29,50,00,00,000 | 18740 | 75000 | 7,75,00,000 | 34,68,274 | 70,78,110 | 77474 | 0 | 587 |
| 104 | Sierra Leone | 7,55,00,000 | 1,61,50,00,000 | 0 | 9500 | 0 | 14,32,872 | 63,12,212 | 71740 | 402 | 800 |
| 105 | Singapore | 11,20,00,00,000 | 5,66,10,00,00,000 | 0 | 13,40,000 | 0 | 40,17,314 | 59,95,991 | 697 | 193 | 10 |
| 106 | Slovakia | 2,12,18,17,575 | 75,04,00,00,000 | 200 | 82000 | 90,00,000 | 27,76,970 | 54,45,040 | 49035 | 0 | 172 |
| 107 | Slovenia | 58,10,00,000 | 46,30,00,00,000 | 5 | 55000 | 0 | 10,02,714 | 21,02,126 | 20273 | 47 | 0 |
| 108 | Somalia | 6,22,00,000 | 5,30,00,00,000 | 0 | 6200 | 0 | 27,02,167 | 1,12,59,029 | 6,37,657 | 3025 | 0 |
| 109 | South Africa | 4,27,80,00,000 | 1,56,30,00,00,000 | 2000 | 6,05,000 | 1,50,00,000 | 2,62,50,220 | 5,53,80,210 | 12,19,090 | 2798 | 0 |
| 110 | South Korea | 44,00,00,00,000 | 3,84,60,00,00,000 | 0 | 28,00,000 | 0 | 2,57,09,049 | 5,14,18,097 | 99720 | 2413 | 1600 |
| 111 | South Sudan | 8,00,00,000 | 2,25,00,00,000 | 1,50,200 | 60000 | 3,75,00,00,000 | 52,45,155 | 1,02,04,581 | 6,44,329 | 0 | 0 |
| 112 | Spain | 15,10,00,00,000 | 20,94,00,00,00,000 | 2252 | 12,26,000 | 15,00,00,000 | 2,31,36,275 | 4,93,31,076 | 5,05,370 | 4964 | 1000 |
| 113 | Sri Lanka | 2,50,00,00,000 | 51,72,00,00,000 | 0 | 90000 | 0 | 1,09,27,071 | 2,25,76,592 | 65610 | 1340 | 160 |
| 114 | Sudan | 2,47,00,00,000 | 56,05,00,00,000 | 1,02,300 | 96800 | 5,00,00,00,000 | 2,40,61,430 | 4,31,20,843 | 18,61,484 | 853 | 1723 |
| 115 | Suriname | 6,30,00,000 | 1,70,00,00,000 | 17000 | 15100 | 8,39,80,000 | 1,32,740 | 5,97,927 | 1,63,820 | 386 | 1200 |
| 116 | Sweden | 6,32,69,23,600 | 9,39,90,00,00,000 | 0 | 3,20,000 | 0 | 41,16,808 | 1,00,40,995 | 4,50,295 | 3218 | 2052 |
| 117 | Switzerland | 5,00,00,00,000 | 16,64,00,00,00,000 | 0 | 2,60,000 | 0 | 36,32,250 | 82,92,809 | 41277 | 0 | 1299 |
| 118 | Syria | 1,80,00,00,000 | 4,98,90,00,000 | 14000 | 2,60,000 | 2,50,00,00,000 | 1,24,50,728 | 1,94,54,263 | 1,85,180 | 193 | 900 |
| 119 | Taiwan | 10,72,50,00,000 | 1,81,90,00,00,000 | 196 | 10,32,000 | 23,80,000 | 1,21,96,809 | 2,35,45,963 | 35980 | 1566 | 3720 |
| 120 | Tajikistan | 1,60,00,00,000 | 5,75,00,00,000 | 180 | 20500 | 1,20,00,000 | 40,95,924 | 86,04,882 | 1,43,100 | 0 | 200 |
| 121 | Tanzania | 22,30,00,000 | 17,66,00,00,000 | 0 | 46000 | 0 | 1,02,58,498 | 5,54,51,343 | 9,47,300 | 1424 | 0 |
| 122 | Thailand | 7,10,00,00,000 | 1,32,00,00,00,000 | 2,39,700 | 13,45,000 | 39,64,00,000 | 3,55,43,014 | 6,86,15,858 | 5,13,120 | 3219 | 4000 |
| 123 | Tunisia | 55,00,00,000 | 30,19,00,00,000 | 49170 | 90500 | 42,50,00,000 | 58,50,224 | 1,15,16,189 | 1,63,610 | 1148 | 0 |
| 124 | Turkey | 19,00,00,00,000 | 4,52,40,00,00,000 | 2,45,000 | 8,45,000 | 38,85,00,000 | 4,18,47,478 | 8,12,57,239 | 7,83,562 | 7200 | 1200 |
| 125 | Turkmenistan | 20,00,00,000 | 53,94,00,000 | 2,30,880 | 1,50,000 | 60,00,00,000 | 27,97,493 | 54,11,012 | 4,88,100 | 1768 | 1300 |
| 126 | Uganda | 93,50,00,000 | 10,80,00,00,000 | 0 | 17500 | 2,50,00,00,000 | 1,47,07,350 | 4,08,53,749 | 2,41,038 | 0 | 0 |
| 127 | Ukraine | 5,40,00,00,000 | 1,30,00,00,00,000 | 29650 | 3,25,000 | 39,50,00,000 | 2,21,95,911 | 4,39,52,299 | 6,03,550 | 2782 | 2150 |
| 128 | United Arab Emirates | 22,75,50,00,000 | 2,37,60,00,00,000 | 31,74,000 | 5,75,000 | 97,80,00,00,000 | 58,20,789 | 97,01,315 | 83600 | 1318 | 0 |
| 129 | United Kingdom | 55,10,00,00,000 | 81,26,00,00,00,000 | 9,10,500 | 16,00,000 | 2,56,40,00,000 | 2,99,48,413 | 6,51,05,246 | 2,43,610 | 12429 | 3200 |
| 130 | United States | 7,50,00,00,00,000 | 1,79,10,00,00,00,000 | 93,52,000 | 2,00,00,000 | 36,52,00,00,000 | 14,48,72,845 | 32,92,56,465 | 98,26,675 | 19924 | 41009 |
| 131 | Uruguay | 4,95,00,00,000 | 28,37,00,00,000 | 0 | 55600 | 0 | 15,49,878 | 33,69,299 | 1,76,215 | 660 | 1600 |
| 132 | Uzbekistan | 97,50,00,000 | 16,90,00,00,000 | 46070 | 1,42,000 | 59,40,00,000 | 1,59,12,566 | 3,00,23,709 | 4,47,400 | 420 | 1100 |
| 133 | Venezuela | 74,50,00,000 | 1,00,30,00,00,000 | 20,07,000 | 5,75,000 | 3,00,90,00,00,000 | 1,42,60,129 | 3,16,89,176 | 9,12,050 | 2800 | 7100 |
| 134 | Vietnam | 5,50,00,00,000 | 96,58,00,00,000 | 2,71,400 | 5,25,000 | 4,40,00,00,000 | 5,10,43,216 | 9,70,40,334 | 3,31,210 | 3444 | 17702 |
| 135 | Yemen | 1,40,00,00,000 | 7,06,80,00,000 | 12260 | 1,45,000 | 3,00,00,00,000 | 1,12,66,221 | 2,86,67,230 | 5,27,968 | 1906 | 0 |
| 136 | Zambia | 4,00,00,000 | 11,66,00,00,000 | 0 | 21000 | 0 | 61,66,905 | 1,64,45,079 | 7,52,618 | 0 | 2250 |
| 137 | Zimbabwe | 10,00,00,000 | 9,35,70,00,000 | 0 | 19500 | 0 | 55,84,086 | 1,40,30,368 | 3,90,757 | 0 | 0 |
df.select_dtypes("object")["Natural resources_Oil Production value"].str.replace(",","")
#cleaning numerical data that might be stored as strings
0 NaN 1 NaN 2 1306000 3 1666000 4 479400 5 NaN 6 263000 7 NaN 8 789300 9 NaN 10 NaN 11 NaN 12 NaN 13 NaN 14 NaN 15 NaN 16 NaN 17 2622000 18 NaN 19 NaN 20 NaN 21 NaN 22 3977000 23 NaN 24 128000 25 NaN 26 3838000 27 853600 28 NaN 29 NaN 30 NaN 31 NaN 32 137100 33 NaN 34 531300 35 589400 36 NaN 37 NaN 38 NaN 39 NaN 40 NaN 41 198800 42 NaN 43 NaN 44 151000 45 NaN 46 NaN 47 NaN 48 NaN 49 733900 50 801700 51 4469000 52 4454000 53 NaN 54 NaN 55 NaN 56 NaN 57 NaN 58 NaN 59 1777000 60 NaN 61 2753000 62 NaN 63 NaN 64 NaN 65 NaN 66 NaN 67 897100 68 NaN 69 NaN 70 647900 71 NaN 72 NaN 73 1981000 74 NaN 75 NaN 76 NaN 77 NaN 78 NaN 79 NaN 80 NaN 81 NaN 82 NaN 83 NaN 84 NaN 85 NaN 86 1946000 87 NaN 88 NaN 89 1618000 90 970400 91 NaN 92 NaN 93 NaN 94 NaN 95 NaN 96 NaN 97 NaN 98 1500000 99 244200 100 NaN 101 10580000 102 10130000 103 NaN 104 NaN 105 NaN 106 NaN 107 NaN 108 NaN 109 NaN 110 NaN 111 150200 112 NaN 113 NaN 114 102300 115 NaN 116 NaN 117 NaN 118 NaN 119 NaN 120 NaN 121 NaN 122 239700 123 NaN 124 245000 125 230880 126 NaN 127 NaN 128 3174000 129 910500 130 9352000 131 NaN 132 NaN 133 2007000 134 271400 135 NaN 136 NaN 137 NaN Name: Natural resources_Oil Production value, dtype: object
columns = df.select_dtypes("object").columns
columns
Index(['country', 'Finances_defense spending budget value',
'Finances_External Debt value',
'Natural resources_Oil Production value',
'Natural resources_Oil Consumption value',
'Natural resources_Proven Oil Reserves value',
'Manpower_Available Manpower value', 'Manpower_Total Population value',
'Geography_Total Square Land Area value',
'Geography_Total Coastline Coverage value',
'Geography_Total Waterway Coverage value'],
dtype='object')
for col in columns[1:]:
df[col] = df[col].astype("str")
df[col] = df.select_dtypes("object")[col].str.replace(',','')
df[col] = df[col].astype("float")
# to clean and convert a range of columns to numerical (float) format.
df.select_dtypes("object")
| country | |
|---|---|
| 0 | Afghanistan |
| 1 | Albania |
| 2 | Algeria |
| 3 | Angola |
| 4 | Argentina |
| 5 | Armenia |
| 6 | Australia |
| 7 | Austria |
| 8 | Azerbaijan |
| 9 | Bahrain |
| 10 | Bangladesh |
| 11 | Belarus |
| 12 | Belgium |
| 13 | Bhutan |
| 14 | Bolivia |
| 15 | Bosnia and Herzegovina |
| 16 | Botswana |
| 17 | Brazil |
| 18 | Bulgaria |
| 19 | Burkina Faso |
| 20 | Cambodia |
| 21 | Cameroon |
| 22 | Canada |
| 23 | Central African Republic |
| 24 | Chad |
| 25 | Chile |
| 26 | China |
| 27 | Colombia |
| 28 | Croatia |
| 29 | Cuba |
| 30 | Czechia |
| 31 | Democratic Republic of the Congo |
| 32 | Denmark |
| 33 | Dominican Republic |
| 34 | Ecuador |
| 35 | Egypt |
| 36 | El Salvador |
| 37 | Estonia |
| 38 | Ethiopia |
| 39 | Finland |
| 40 | France |
| 41 | Gabon |
| 42 | Georgia |
| 43 | Germany |
| 44 | Ghana |
| 45 | Greece |
| 46 | Guatemala |
| 47 | Honduras |
| 48 | Hungary |
| 49 | India |
| 50 | Indonesia |
| 51 | Iran |
| 52 | Iraq |
| 53 | Ireland |
| 54 | Israel |
| 55 | Italy |
| 56 | Ivory Coast |
| 57 | Japan |
| 58 | Jordan |
| 59 | Kazakhstan |
| 60 | Kenya |
| 61 | Kuwait |
| 62 | Kyrgyzstan |
| 63 | Laos |
| 64 | Latvia |
| 65 | Lebanon |
| 66 | Liberia |
| 67 | Libya |
| 68 | Lithuania |
| 69 | Madagascar |
| 70 | Malaysia |
| 71 | Mali |
| 72 | Mauritania |
| 73 | Mexico |
| 74 | Moldova |
| 75 | Mongolia |
| 76 | Montenegro |
| 77 | Morocco |
| 78 | Mozambique |
| 79 | Myanmar |
| 80 | Namibia |
| 81 | Nepal |
| 82 | Netherlands |
| 83 | New Zealand |
| 84 | Nicaragua |
| 85 | Niger |
| 86 | Nigeria |
| 87 | North Korea |
| 88 | North Macedonia |
| 89 | Norway |
| 90 | Oman |
| 91 | Pakistan |
| 92 | Panama |
| 93 | Paraguay |
| 94 | Peru |
| 95 | Philippines |
| 96 | Poland |
| 97 | Portugal |
| 98 | Qatar |
| 99 | Republic of the Congo |
| 100 | Romania |
| 101 | Russia |
| 102 | Saudi Arabia |
| 103 | Serbia |
| 104 | Sierra Leone |
| 105 | Singapore |
| 106 | Slovakia |
| 107 | Slovenia |
| 108 | Somalia |
| 109 | South Africa |
| 110 | South Korea |
| 111 | South Sudan |
| 112 | Spain |
| 113 | Sri Lanka |
| 114 | Sudan |
| 115 | Suriname |
| 116 | Sweden |
| 117 | Switzerland |
| 118 | Syria |
| 119 | Taiwan |
| 120 | Tajikistan |
| 121 | Tanzania |
| 122 | Thailand |
| 123 | Tunisia |
| 124 | Turkey |
| 125 | Turkmenistan |
| 126 | Uganda |
| 127 | Ukraine |
| 128 | United Arab Emirates |
| 129 | United Kingdom |
| 130 | United States |
| 131 | Uruguay |
| 132 | Uzbekistan |
| 133 | Venezuela |
| 134 | Vietnam |
| 135 | Yemen |
| 136 | Zambia |
| 137 | Zimbabwe |
df.columns
Index(['country', 'Military Strength Power Index',
'Airforce Strength_Aircraft Strength value',
'Airforce Strength_Fighter/Interceptor Strength value',
'Airforce Strength_Attack Aircraft Strength value',
'Airforce Strength_Transport Aircraft Fleet Strength value',
'Airforce Strength_Trainer Aircraft Fleet value',
'Airforce Strength_Helicopter Fleet Strength value',
'Airforce Strength_Attack Helicopter Fleet Strength value',
'Land Strength_Tank Strength value',
'Land Strength_AFV/APC Strength value',
'Land Strength_Self-Propelled Artillery Strength value',
'Land Strength_Towed Artillery Strength value',
'Land Strength_Rocket Projector Strength value',
'Navy Strength_Navy Fleet Strengths value',
'Navy Strength_Aircraft Carrier Fleet Strength value',
'Navy Strength_Submarine Fleet Strength value',
'Navy Strength_Destroyer Fleet Strength value',
'Navy Strength_Frigate Fleet Strength value',
'Finances_defense spending budget value',
'Finances_External Debt value', 'Logistics_Airport Totals value',
'Natural resources_Oil Production value',
'Natural resources_Oil Consumption value',
'Natural resources_Proven Oil Reserves value',
'Manpower_Available Manpower value', 'Manpower_Total Population value',
'Geography_Total Square Land Area value',
'Geography_Total Coastline Coverage value',
'Geography_Total Waterway Coverage value',
'Geography_Total Border Coverage value'],
dtype='object')
df.drop(['Geography_Total Square Land Area value',
'Geography_Total Coastline Coverage value',
'Geography_Total Waterway Coverage value',
'Geography_Total Border Coverage value'],axis=1,inplace=True)
fig = px.bar(df,x= "country" , y = value_df["Airforce Strength_Aircraft Strength value"])
fig.show()
fig = px.box(df, x = value_df["Airforce Strength_Aircraft Strength value"],
hover_name=value_df["country"])
fig.show()
fig = px.bar(df,x= "country" , y = value_df['Navy Strength_Navy Fleet Strengths value'])
fig.show()
fig = px.box(df, x = value_df["Navy Strength_Navy Fleet Strengths value"],
hover_name=value_df["country"])
fig.show()
fig = px.bar(df,x= "country" , y = value_df['Land Strength_Tank Strength value'])
fig.show()
fig = px.box(df, x = value_df["Land Strength_Tank Strength value"],
hover_name=value_df["country"])
fig.show()
fig = go.Figure()
fig.add_trace(go.Box(x=df["Finances_External Debt value"],
hovertext=df["country"],
name = "Finances_External Debt value")
)
fig.add_trace(go.Box(x=df["Finances_defense spending budget value"],
hovertext=df["country"],
name = "Finances_defense spending budget value")
)
fig.show()
df.describe().T
| count | mean | std | min | 25% | 50% | 75% | max | |
|---|---|---|---|---|---|---|---|---|
| Military Strength Power Index | 138.0 | 1.460716e+00 | 1.324018e+00 | 6.060000e-02 | 5.748000e-01 | 1.034100e+00 | 2.021525e+00 | 1.016810e+01 |
| Airforce Strength_Aircraft Strength value | 138.0 | 3.884710e+02 | 1.231982e+03 | 0.000000e+00 | 3.300000e+01 | 1.110000e+02 | 2.902500e+02 | 1.326400e+04 |
| Airforce Strength_Fighter/Interceptor Strength value | 138.0 | 8.156522e+01 | 2.303248e+02 | 0.000000e+00 | 0.000000e+00 | 1.700000e+01 | 6.050000e+01 | 2.085000e+03 |
| Airforce Strength_Attack Aircraft Strength value | 138.0 | 2.576087e+01 | 9.452822e+01 | 0.000000e+00 | 0.000000e+00 | 0.000000e+00 | 1.575000e+01 | 7.420000e+02 |
| Airforce Strength_Transport Aircraft Fleet Strength value | 138.0 | 3.023188e+01 | 9.233044e+01 | 0.000000e+00 | 3.000000e+00 | 9.000000e+00 | 2.600000e+01 | 9.450000e+02 |
| Airforce Strength_Trainer Aircraft Fleet value | 138.0 | 8.283333e+01 | 2.408037e+02 | 0.000000e+00 | 4.250000e+00 | 2.600000e+01 | 7.925000e+01 | 2.643000e+03 |
| Airforce Strength_Helicopter Fleet Strength value | 138.0 | 1.540652e+02 | 5.201836e+02 | 0.000000e+00 | 1.525000e+01 | 4.400000e+01 | 1.267500e+02 | 5.768000e+03 |
| Airforce Strength_Attack Helicopter Fleet Strength value | 138.0 | 2.562319e+01 | 9.732609e+01 | 0.000000e+00 | 0.000000e+00 | 2.000000e+00 | 1.775000e+01 | 9.670000e+02 |
| Land Strength_Tank Strength value | 138.0 | 6.465652e+02 | 1.515464e+03 | 0.000000e+00 | 1.925000e+01 | 1.530000e+02 | 4.362500e+02 | 1.295000e+04 |
| Land Strength_AFV/APC Strength value | 138.0 | 2.485696e+03 | 5.410546e+03 | 0.000000e+00 | 2.502500e+02 | 7.345000e+02 | 2.000000e+03 | 3.925300e+04 |
| Land Strength_Self-Propelled Artillery Strength value | 138.0 | 2.121594e+02 | 6.880290e+02 | 0.000000e+00 | 0.000000e+00 | 2.300000e+01 | 9.725000e+01 | 6.083000e+03 |
| Land Strength_Towed Artillery Strength value | 138.0 | 3.939783e+02 | 8.057817e+02 | 0.000000e+00 | 2.425000e+01 | 1.080000e+02 | 2.965000e+02 | 4.465000e+03 |
| Land Strength_Rocket Projector Strength value | 138.0 | 1.569348e+02 | 4.843810e+02 | 0.000000e+00 | 0.000000e+00 | 2.400000e+01 | 9.975000e+01 | 3.860000e+03 |
| Navy Strength_Navy Fleet Strengths value | 138.0 | 7.436232e+01 | 1.410382e+02 | 0.000000e+00 | 3.000000e+00 | 2.750000e+01 | 6.800000e+01 | 9.840000e+02 |
| Navy Strength_Aircraft Carrier Fleet Strength value | 138.0 | 3.043478e-01 | 1.798656e+00 | 0.000000e+00 | 0.000000e+00 | 0.000000e+00 | 0.000000e+00 | 2.000000e+01 |
| Navy Strength_Submarine Fleet Strength value | 138.0 | 3.978261e+00 | 1.260313e+01 | 0.000000e+00 | 0.000000e+00 | 0.000000e+00 | 2.000000e+00 | 8.300000e+01 |
| Navy Strength_Destroyer Fleet Strength value | 138.0 | 1.710145e+00 | 9.154954e+00 | 0.000000e+00 | 0.000000e+00 | 0.000000e+00 | 0.000000e+00 | 9.100000e+01 |
| Navy Strength_Frigate Fleet Strength value | 138.0 | 2.891304e+00 | 5.969123e+00 | 0.000000e+00 | 0.000000e+00 | 0.000000e+00 | 4.000000e+00 | 5.200000e+01 |
| Finances_defense spending budget value | 138.0 | 1.399363e+10 | 6.731189e+10 | 1.300000e+07 | 3.255000e+08 | 2.100909e+09 | 6.957750e+09 | 7.500000e+11 |
| Finances_External Debt value | 138.0 | 5.194983e+11 | 1.847252e+12 | 5.394000e+08 | 9.361500e+09 | 3.997000e+10 | 1.830250e+11 | 1.791000e+13 |
| Logistics_Airport Totals value | 138.0 | 2.900435e+02 | 1.212967e+03 | 2.000000e+00 | 3.350000e+01 | 6.800000e+01 | 1.507500e+02 | 1.351300e+04 |
| Natural resources_Oil Production value | 138.0 | 5.855524e+05 | 1.667139e+06 | 0.000000e+00 | 0.000000e+00 | 1.313000e+04 | 2.228600e+05 | 1.058000e+07 |
| Natural resources_Oil Consumption value | 138.0 | 7.020187e+05 | 2.168810e+06 | 2.000000e+03 | 3.250000e+04 | 1.335000e+05 | 3.487500e+05 | 2.000000e+07 |
| Natural resources_Proven Oil Reserves value | 138.0 | 1.194412e+10 | 4.275090e+10 | 0.000000e+00 | 0.000000e+00 | 8.028500e+07 | 2.001500e+09 | 3.009000e+11 |
| Manpower_Available Manpower value | 138.0 | 2.544297e+07 | 8.450698e+07 | 1.327400e+05 | 2.618384e+06 | 5.986089e+06 | 1.756708e+07 | 7.528554e+08 |
| Manpower_Total Population value | 138.0 | 5.318058e+07 | 1.651090e+08 | 5.979270e+05 | 5.819450e+06 | 1.613910e+07 | 4.068887e+07 | 1.384689e+09 |
plt.figure(figsize=(15, 10))
sns.heatmap(df.corr(), annot=True);
fig = px.imshow(df.corr(), width=1000, height=800)
fig.show()
X = df.drop(["country"], axis=1)
scaler = StandardScaler()
X = scaler.fit_transform(X)
The Hopkins statistic tests the spatial randomness of your data. It answers the question: "Is my data randomly distributed, or does it tend to have clusters?"
The algorithm essentially works like this:
Assess the clusterability of a dataset. A score between 0 and 1, a score around 0.5 express no clusterability, a score tending to 1 express an uniform distrubution so clustering can't be useful and 0 express not an uniform distrubution hence clusterering can be useful.
hopkins(X, X.shape[0])
0.07456565327454581
ssd = [] # sum of squared distance
K = range(2,10)
for k in K:
model = KMeans(n_clusters=k)
model.fit(X)
ssd.append(model.inertia_)
# Lower inertia generally indicates that the data points within each cluster are closer to their cluster's centroid.
#This suggests that the clusters are more compact and internally similar. Ideally, you want clusters that are tightly grouped.
ssd
[1908.9606723107413, 1293.9804803548773, 1033.3079025228537, 871.3919363344244, 726.3028244291534, 596.6149495076263, 498.02807094870917, 438.45503320650994]
plt.plot(K, ssd, "bo-")
plt.xlabel("Different k values")
plt.ylabel("inertia-error")
plt.title("elbow method")
Text(0.5, 1.0, 'elbow method')
pd.Series(ssd).diff()
0 NaN 1 -614.980192 2 -260.672578 3 -161.915966 4 -145.089112 5 -129.687875 6 -98.586879 7 -59.573038 dtype: float64
df1_diff =pd.DataFrame(-pd.Series(ssd).diff()).rename(index = lambda x : x+1)
df1_diff
| 0 | |
|---|---|
| 1 | NaN |
| 2 | 614.980192 |
| 3 | 260.672578 |
| 4 | 161.915966 |
| 5 | 145.089112 |
| 6 | 129.687875 |
| 7 | 98.586879 |
| 8 | 59.573038 |
df1_diff.plot(kind='bar');
kmeans = KMeans()
visu = KElbowVisualizer(kmeans, k = (2,10))
visu.fit(X)
visu.poof();
Silhouette analysis gives you a sense of how well each data point fits into its assigned cluster compared to other clusters, the more it closes to 1, the more It gives you a sense of how well each data point fits into its assigned cluster compared to other clusters.
silhouette_score(X, kmeans.labels_)
0.2752576078156073
range_n_clusters = range(2,9)
for num_clusters in range_n_clusters:
# intialise kmeans
kmeans = KMeans(n_clusters=num_clusters, random_state=101)
kmeans.fit(X)
cluster_labels = kmeans.labels_
# silhouette score
silhouette_avg = silhouette_score(X, cluster_labels)
print(f"For n_clusters={num_clusters}, the silhouette score is {silhouette_avg}")
For n_clusters=2, the silhouette score is 0.8645343457024808 For n_clusters=3, the silhouette score is 0.8021734897138548 For n_clusters=4, the silhouette score is 0.6431108598819103 For n_clusters=5, the silhouette score is 0.4970990294193429 For n_clusters=6, the silhouette score is 0.5059656486613938 For n_clusters=7, the silhouette score is 0.4861811103301968 For n_clusters=8, the silhouette score is 0.4388025628710392
model = KMeans(n_clusters=3)
model.fit(X)
KMeans(n_clusters=3)In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
KMeans(n_clusters=3)
model.inertia_
1318.9857111090864
model.labels_
array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 0, 0])
df["cluster"] = model.labels_ # label değerleri cluster sütunu olarak atıyoruz.
plt.figure(figsize=(10,5))
sns.scatterplot(data=df, # You need to pass your DataFrame using the 'data=' keyword
x="Airforce Strength_Aircraft Strength value",
y="Navy Strength_Navy Fleet Strengths value",
hue="cluster",
palette="viridis");
fig = px.scatter_3d(x=df["Airforce Strength_Aircraft Strength value"],
y=df["Finances_defense spending budget value"],
z=df["Finances_External Debt value"],
color=df.cluster,
labels = {"x": "Airforce Strength_Aircraft Strength value",
"y": "Finances_defense spending budget value",
"z": "Finances_External Debt value"},
hover_name=df["country"])
fig.show()
centroids = model.cluster_centers_
plt.scatter(X[:,18], X[:,19], c = df.cluster, s = 50, cmap = "viridis")
plt.scatter(centroids[:,18], centroids[:,19], c = "black", s = 200, alpha=0.5);
plt.figure(figsize=(8,5))
plt.title("Cluster Count")
ax1 = sns.countplot(x = df.cluster)
for p in ax1.patches:
ax1.annotate(
text=f"{p.get_height():1.0f}", # Changed 's' to 'text'
xy=(p.get_x() + p.get_width() / 2., p.get_height()),
xycoords='data',
ha='center',
va='center',
fontsize=11,
color='black',
xytext=(0,7),
textcoords='offset points',
clip_on=True
)
plt.show()
df[df["cluster"] == 0]
| country | Military Strength Power Index | Airforce Strength_Aircraft Strength value | Airforce Strength_Fighter/Interceptor Strength value | Airforce Strength_Attack Aircraft Strength value | Airforce Strength_Transport Aircraft Fleet Strength value | Airforce Strength_Trainer Aircraft Fleet value | Airforce Strength_Helicopter Fleet Strength value | Airforce Strength_Attack Helicopter Fleet Strength value | Land Strength_Tank Strength value | Land Strength_AFV/APC Strength value | Land Strength_Self-Propelled Artillery Strength value | Land Strength_Towed Artillery Strength value | Land Strength_Rocket Projector Strength value | Navy Strength_Navy Fleet Strengths value | Navy Strength_Aircraft Carrier Fleet Strength value | Navy Strength_Submarine Fleet Strength value | Navy Strength_Destroyer Fleet Strength value | Navy Strength_Frigate Fleet Strength value | Finances_defense spending budget value | Finances_External Debt value | Logistics_Airport Totals value | Natural resources_Oil Production value | Natural resources_Oil Consumption value | Natural resources_Proven Oil Reserves value | Manpower_Available Manpower value | Manpower_Total Population value | cluster | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | Afghanistan | 1.3444 | 260 | 0 | 25 | 30 | 0 | 187 | 0 | 0 | 1062 | 0 | 176 | 50 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1.200000e+10 | 2.840000e+09 | 43 | 0.0 | 5500.0 | 0.000000e+00 | 14325743.0 | 3.494084e+07 | 0 |
| 1 | Albania | 2.3137 | 19 | 0 | 0 | 0 | 0 | 19 | 0 | 0 | 467 | 0 | 0 | 0 | 38.0 | 0.0 | 0.0 | 0.0 | 0.0 | 2.500000e+08 | 9.505000e+09 | 4 | 16000.0 | 42500.0 | 1.683000e+08 | 1519438.0 | 3.057220e+06 | 0 |
| 2 | Algeria | 0.4659 | 551 | 103 | 22 | 59 | 87 | 257 | 45 | 880 | 7361 | 320 | 240 | 316 | 201.0 | 0.0 | 6.0 | 0.0 | 5.0 | 1.300000e+10 | 6.260000e+09 | 157 | 1306000.0 | 325000.0 | 1.220000e+10 | 20741263.0 | 4.165749e+07 | 0 |
| 3 | Angola | 0.8379 | 295 | 72 | 18 | 30 | 47 | 126 | 15 | 379 | 595 | 28 | 357 | 115 | 57.0 | 0.0 | 0.0 | 0.0 | 0.0 | 7.000000e+09 | 4.208000e+10 | 176 | 1666000.0 | 82300.0 | 8.273000e+09 | 6244205.0 | 3.035588e+07 | 0 |
| 4 | Argentina | 0.6521 | 227 | 24 | 7 | 9 | 64 | 100 | 0 | 370 | 739 | 83 | 172 | 26 | 49.0 | 0.0 | 2.0 | 4.0 | 0.0 | 4.200000e+09 | 2.149000e+11 | 1138 | 479400.0 | 685000.0 | 2.185000e+09 | 20179430.0 | 4.469420e+07 | 0 |
| 5 | Armenia | 2.1251 | 64 | 0 | 9 | 3 | 13 | 37 | 20 | 110 | 748 | 38 | 150 | 68 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1.385000e+09 | 1.041000e+10 | 11 | 0.0 | 47500.0 | 0.000000e+00 | 1696085.0 | 3.038217e+06 | 0 |
| 6 | Australia | 0.3225 | 464 | 82 | 6 | 38 | 174 | 133 | 22 | 59 | 3051 | 0 | 54 | 0 | 48.0 | 2.0 | 6.0 | 2.0 | 8.0 | 2.630000e+10 | 1.714000e+12 | 480 | 263000.0 | 1005000.0 | 1.821000e+09 | 10808002.0 | 2.347014e+07 | 0 |
| 7 | Austria | 0.9568 | 120 | 15 | 0 | 11 | 32 | 62 | 0 | 56 | 467 | 33 | 0 | 0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 3.380000e+09 | 6.308000e+11 | 52 | 14260.0 | 215000.0 | 4.300000e+07 | 4017691.0 | 8.793370e+06 | 0 |
| 8 | Azerbaijan | 0.9463 | 147 | 17 | 12 | 1 | 29 | 88 | 17 | 570 | 1451 | 187 | 227 | 162 | 31.0 | 0.0 | 4.0 | 0.0 | 1.0 | 2.805000e+09 | 1.741000e+10 | 37 | 789300.0 | 180000.0 | 7.000000e+09 | 5042346.0 | 1.004652e+07 | 0 |
| 9 | Bahrain | 1.8547 | 109 | 17 | 0 | 2 | 37 | 65 | 22 | 180 | 843 | 33 | 26 | 17 | 39.0 | 0.0 | 0.0 | 0.0 | 1.0 | 1.415000e+09 | 5.215000e+10 | 4 | 45000.0 | 55000.0 | 1.246000e+08 | 806505.0 | 1.422659e+06 | 0 |
| 10 | Bangladesh | 0.7066 | 177 | 44 | 0 | 11 | 57 | 67 | 0 | 276 | 1230 | 18 | 419 | 72 | 112.0 | 0.0 | 2.0 | 0.0 | 8.0 | 3.800000e+09 | 5.026000e+10 | 18 | 3666.0 | 112000.0 | 2.800000e+07 | 78913289.0 | 1.594530e+08 | 0 |
| 11 | Belarus | 0.8179 | 202 | 39 | 68 | 4 | 28 | 63 | 21 | 532 | 1560 | 482 | 228 | 238 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 6.237028e+08 | 3.992000e+10 | 65 | 32000.0 | 190000.0 | 1.980000e+08 | 4982905.0 | 9.527543e+06 | 0 |
| 12 | Belgium | 1.0499 | 148 | 43 | 0 | 12 | 64 | 29 | 0 | 0 | 984 | 0 | 0 | 0 | 17.0 | 0.0 | 0.0 | 0.0 | 2.0 | 4.921000e+09 | 1.281000e+12 | 41 | 0.0 | 645000.0 | 0.000000e+00 | 4833107.0 | 1.157076e+07 | 0 |
| 13 | Bhutan | 10.1681 | 2 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 27 | 0 | 0 | 0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 2.512000e+07 | 2.671000e+09 | 2 | 0.0 | 2000.0 | 0.000000e+00 | 176808.0 | 7.663970e+05 | 0 |
| 14 | Bolivia | 0.9942 | 69 | 0 | 0 | 14 | 23 | 38 | 0 | 54 | 137 | 0 | 86 | 0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 6.600000e+08 | 1.281000e+10 | 855 | 59330.0 | 60000.0 | 2.115000e+08 | 5075416.0 | 1.130634e+07 | 0 |
| 15 | Bosnia and Herzegovina | 3.8586 | 19 | 0 | 0 | 0 | 0 | 19 | 0 | 320 | 332 | 24 | 837 | 143 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1.650000e+08 | 1.087000e+10 | 24 | 0.0 | 32500.0 | 0.000000e+00 | 2394632.0 | 3.849891e+06 | 0 |
| 16 | Botswana | 2.0582 | 45 | 10 | 0 | 11 | 8 | 16 | 0 | 55 | 245 | 0 | 30 | 20 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 4.500000e+08 | 2.187000e+09 | 74 | 0.0 | 16500.0 | 0.000000e+00 | 962617.0 | 2.249104e+06 | 0 |
| 17 | Brazil | 0.1988 | 715 | 43 | 78 | 126 | 198 | 242 | 12 | 437 | 1820 | 132 | 565 | 84 | 112.0 | 0.0 | 6.0 | 0.0 | 7.0 | 2.780000e+10 | 5.474000e+11 | 4093 | 2622000.0 | 3020000.0 | 1.300000e+10 | 107764996.0 | 2.088469e+08 | 0 |
| 18 | Bulgaria | 0.8916 | 63 | 13 | 4 | 5 | 20 | 25 | 2 | 710 | 2000 | 506 | 350 | 192 | 29.0 | 0.0 | 0.0 | 0.0 | 4.0 | 1.079000e+09 | 4.206000e+10 | 68 | 1000.0 | 115000.0 | 1.500000e+07 | 3278916.0 | 7.057504e+06 | 0 |
| 19 | Burkina Faso | 1.9009 | 16 | 0 | 3 | 1 | 4 | 8 | 2 | 0 | 350 | 0 | 0 | 0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1.300000e+08 | 3.056000e+09 | 23 | 0.0 | 10500.0 | 0.000000e+00 | 7800000.0 | 1.974272e+07 | 0 |
| 20 | Cambodia | 2.0557 | 22 | 0 | 0 | 5 | 0 | 17 | 0 | 263 | 340 | 0 | 150 | 570 | 27.0 | 0.0 | 0.0 | 0.0 | 0.0 | 6.040000e+08 | 1.187000e+10 | 16 | 0.0 | 42500.0 | 0.000000e+00 | 8120963.0 | 1.644952e+07 | 0 |
| 21 | Cameroon | 1.9902 | 29 | 0 | 0 | 6 | 6 | 15 | 0 | 0 | 222 | 8 | 61 | 20 | 64.0 | 0.0 | 0.0 | 0.0 | 0.0 | 3.470000e+08 | 9.375000e+09 | 33 | 75720.0 | 32500.0 | 2.000000e+08 | 9487157.0 | 2.564096e+07 | 0 |
| 22 | Canada | 0.3712 | 385 | 62 | 0 | 38 | 135 | 145 | 0 | 80 | 1973 | 0 | 133 | 0 | 64.0 | 0.0 | 4.0 | 0.0 | 12.0 | 2.250000e+10 | 1.608000e+12 | 1467 | 3977000.0 | 2500000.0 | 1.697000e+11 | 16110865.0 | 3.588166e+07 | 0 |
| 23 | Central African Republic | 3.2889 | 3 | 0 | 0 | 2 | 0 | 1 | 0 | 4 | 55 | 0 | 20 | 0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 2.000000e+07 | 7.799000e+08 | 39 | 0.0 | 4500.0 | 0.000000e+00 | 2348581.0 | 5.745062e+06 | 0 |
| 24 | Chad | 1.6383 | 35 | 0 | 6 | 6 | 4 | 17 | 3 | 60 | 372 | 10 | 51 | 10 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 2.000000e+08 | 1.724000e+09 | 59 | 128000.0 | 100000.0 | 1.500000e+09 | 6030834.0 | 1.583312e+07 | 0 |
| 25 | Chile | 0.7668 | 282 | 44 | 0 | 30 | 93 | 92 | 0 | 300 | 1430 | 48 | 158 | 10 | 69.0 | 0.0 | 4.0 | 0.0 | 10.0 | 4.250000e+09 | 1.834000e+11 | 481 | 3244.0 | 325000.0 | 1.500000e+08 | 8657902.0 | 1.792526e+07 | 0 |
| 27 | Colombia | 0.6045 | 469 | 21 | 38 | 76 | 80 | 224 | 0 | 0 | 595 | 6 | 110 | 0 | 453.0 | 0.0 | 11.0 | 0.0 | 4.0 | 1.060000e+10 | 1.246000e+11 | 836 | 853600.0 | 300000.0 | 2.002000e+09 | 24084498.0 | 4.816900e+07 | 0 |
| 28 | Croatia | 1.0183 | 78 | 12 | 0 | 0 | 27 | 47 | 0 | 72 | 604 | 24 | 151 | 105 | 28.0 | 0.0 | 0.0 | 0.0 | 0.0 | 8.000000e+08 | 4.810000e+10 | 69 | 14000.0 | 82000.0 | 7.100000e+07 | 2088265.0 | 4.270480e+06 | 0 |
| 29 | Cuba | 1.2208 | 80 | 38 | 0 | 2 | 26 | 14 | 4 | 1180 | 670 | 100 | 150 | 100 | 12.0 | 0.0 | 0.0 | 0.0 | 2.0 | 5.000000e+08 | 3.006000e+10 | 133 | 50000.0 | 152000.0 | 1.240000e+08 | 5980621.0 | 1.111640e+07 | 0 |
| 30 | Czechia | 0.5531 | 95 | 12 | 16 | 8 | 15 | 44 | 15 | 116 | 682 | 86 | 85 | 0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 2.969000e+09 | 2.052000e+11 | 128 | 2000.0 | 200000.0 | 1.500000e+07 | 5011174.0 | 1.068627e+07 | 0 |
| 31 | Democratic Republic of the Congo | 1.1389 | 53 | 2 | 4 | 13 | 0 | 34 | 8 | 175 | 100 | 16 | 120 | 57 | 20.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1.000000e+08 | 4.963000e+09 | 198 | 19160.0 | 10500.0 | 1.800000e+08 | 34112410.0 | 8.528102e+07 | 0 |
| 32 | Denmark | 0.7878 | 113 | 33 | 0 | 4 | 38 | 35 | 0 | 57 | 972 | 22 | 0 | 0 | 74.0 | 0.0 | 0.0 | 0.0 | 9.0 | 4.760000e+09 | 4.848000e+11 | 80 | 137100.0 | 162000.0 | 4.906000e+08 | 2590457.0 | 5.809502e+06 | 0 |
| 33 | Dominican Republic | 2.7504 | 49 | 0 | 8 | 10 | 4 | 28 | 0 | 6 | 20 | 0 | 20 | 0 | 33.0 | 0.0 | 0.0 | 0.0 | 0.0 | 7.600000e+08 | 2.916000e+10 | 36 | 0.0 | 125000.0 | 0.000000e+00 | 4819818.0 | 1.029876e+07 | 0 |
| 34 | Ecuador | 1.0062 | 108 | 9 | 0 | 22 | 29 | 50 | 0 | 232 | 413 | 15 | 102 | 26 | 19.0 | 0.0 | 2.0 | 0.0 | 2.0 | 2.500000e+09 | 3.929000e+10 | 432 | 531300.0 | 282000.0 | 8.273000e+09 | 7696551.0 | 1.649850e+07 | 0 |
| 35 | Egypt | 0.1872 | 1054 | 215 | 88 | 59 | 387 | 294 | 81 | 4295 | 11700 | 1139 | 2189 | 1084 | 316.0 | 2.0 | 8.0 | 0.0 | 7.0 | 1.120000e+10 | 7.747000e+10 | 83 | 589400.0 | 832000.0 | 4.400000e+09 | 42946553.0 | 9.941332e+07 | 0 |
| 36 | El Salvador | 3.1291 | 51 | 0 | 15 | 2 | 3 | 31 | 0 | 0 | 125 | 0 | 70 | 0 | 4.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1.670000e+08 | 1.551000e+10 | 68 | 0.0 | 45600.0 | 0.000000e+00 | 3106010.0 | 6.187271e+06 | 0 |
| 37 | Estonia | 2.5893 | 7 | 0 | 0 | 2 | 5 | 4 | 0 | 0 | 181 | 18 | 66 | 0 | 6.0 | 0.0 | 0.0 | 0.0 | 0.0 | 6.850000e+08 | 1.905000e+10 | 18 | 0.0 | 27500.0 | 0.000000e+00 | 596014.0 | 1.244288e+06 | 0 |
| 38 | Ethiopia | 0.8581 | 86 | 24 | 0 | 9 | 20 | 33 | 8 | 400 | 114 | 67 | 650 | 183 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 3.500000e+08 | 2.605000e+10 | 57 | 0.0 | 55000.0 | 4.280000e+05 | 41143474.0 | 1.083864e+08 | 0 |
| 39 | Finland | 0.8498 | 194 | 55 | 0 | 11 | 105 | 127 | 0 | 200 | 2050 | 100 | 627 | 75 | 246.0 | 0.0 | 0.0 | 0.0 | 0.0 | 3.570000e+09 | 1.506000e+11 | 148 | 0.0 | 205000.0 | 0.000000e+00 | 2307420.0 | 5.537364e+06 | 0 |
| 40 | France | 0.1702 | 1229 | 269 | 0 | 121 | 187 | 589 | 62 | 528 | 6028 | 109 | 12 | 13 | 180.0 | 4.0 | 9.0 | 11.0 | 11.0 | 4.150000e+10 | 5.360000e+12 | 464 | 15170.0 | 1600000.0 | 7.235000e+07 | 30111868.0 | 6.736436e+07 | 0 |
| 41 | Gabon | 3.3736 | 23 | 6 | 0 | 2 | 0 | 15 | 0 | 0 | 70 | 0 | 16 | 0 | 10.0 | 0.0 | 0.0 | 0.0 | 0.0 | 8.300000e+07 | 6.490000e+09 | 44 | 198800.0 | 16500.0 | 2.000000e+09 | 842741.0 | 2.119036e+06 | 0 |
| 42 | Georgia | 1.6679 | 66 | 0 | 10 | 2 | 12 | 38 | 9 | 143 | 950 | 69 | 133 | 51 | 9.0 | 0.0 | 0.0 | 0.0 | 0.0 | 3.270000e+08 | 1.699000e+10 | 22 | 400.0 | 18500.0 | 3.500000e+07 | 2249744.0 | 4.926087e+06 | 0 |
| 43 | Germany | 0.2186 | 712 | 128 | 74 | 71 | 26 | 386 | 56 | 245 | 4583 | 108 | 0 | 38 | 80.0 | 0.0 | 6.0 | 0.0 | 9.0 | 5.000000e+10 | 5.326000e+12 | 539 | 43410.0 | 2500000.0 | 1.454000e+08 | 37010559.0 | 8.045774e+07 | 0 |
| 44 | Ghana | 2.0554 | 24 | 0 | 0 | 3 | 6 | 13 | 0 | 0 | 150 | 0 | 0 | 0 | 20.0 | 0.0 | 0.0 | 0.0 | 0.0 | 7.100000e+08 | 2.214000e+10 | 10 | 151000.0 | 65000.0 | 6.600000e+08 | 12561805.0 | 2.810247e+07 | 0 |
| 45 | Greece | 0.5311 | 566 | 187 | 0 | 15 | 143 | 231 | 29 | 1355 | 3691 | 547 | 463 | 152 | 116.0 | 0.0 | 11.0 | 0.0 | 13.0 | 4.844000e+09 | 5.066000e+11 | 77 | 2753.0 | 350000.0 | 1.000000e+07 | 4993347.0 | 1.076152e+07 | 0 |
| 46 | Guatemala | 1.8302 | 33 | 0 | 4 | 8 | 6 | 15 | 0 | 12 | 135 | 0 | 106 | 0 | 26.0 | 0.0 | 0.0 | 0.0 | 0.0 | 2.400000e+08 | 2.292000e+10 | 291 | 9666.0 | 85000.0 | 8.307000e+07 | 7063622.0 | 1.658127e+07 | 0 |
| 47 | Honduras | 2.0943 | 46 | 3 | 9 | 11 | 10 | 12 | 0 | 19 | 92 | 0 | 176 | 0 | 59.0 | 0.0 | 0.0 | 0.0 | 0.0 | 2.050000e+08 | 8.625000e+09 | 103 | 0.0 | 60000.0 | 0.000000e+00 | 4104696.0 | 9.182766e+06 | 0 |
| 48 | Hungary | 0.8215 | 47 | 12 | 0 | 5 | 6 | 24 | 8 | 30 | 944 | 0 | 300 | 0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 2.080000e+09 | 1.381000e+11 | 41 | 14000.0 | 145000.0 | 2.510000e+07 | 4618081.0 | 9.825704e+06 | 0 |
| 49 | India | 0.0953 | 2123 | 538 | 172 | 250 | 359 | 722 | 23 | 4292 | 8686 | 235 | 4060 | 266 | 285.0 | 1.0 | 16.0 | 10.0 | 13.0 | 6.100000e+10 | 5.016000e+11 | 346 | 733900.0 | 5000000.0 | 4.621000e+09 | 622480340.0 | 1.296834e+09 | 0 |
| 50 | Indonesia | 0.2544 | 462 | 41 | 39 | 54 | 109 | 177 | 16 | 313 | 1178 | 153 | 366 | 36 | 282.0 | 0.0 | 5.0 | 0.0 | 7.0 | 7.600000e+09 | 3.444000e+11 | 673 | 801700.0 | 1630000.0 | 3.230000e+09 | 130868127.0 | 2.627874e+08 | 0 |
| 51 | Iran | 0.2191 | 509 | 155 | 23 | 62 | 94 | 100 | 12 | 2056 | 4300 | 570 | 2088 | 1935 | 398.0 | 0.0 | 34.0 | 0.0 | 7.0 | 1.960000e+10 | 7.995000e+09 | 319 | 4469000.0 | 2000000.0 | 1.584000e+11 | 47324105.0 | 8.302474e+07 | 0 |
| 52 | Iraq | 0.7911 | 348 | 26 | 33 | 16 | 102 | 186 | 40 | 309 | 4739 | 44 | 120 | 30 | 60.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1.730000e+09 | 7.302000e+10 | 102 | 4454000.0 | 825000.0 | 1.425000e+11 | 16399240.0 | 4.019422e+07 | 0 |
| 53 | Ireland | 1.9481 | 19 | 0 | 0 | 0 | 8 | 8 | 0 | 0 | 124 | 0 | 0 | 0 | 8.0 | 0.0 | 0.0 | 0.0 | 0.0 | 8.700000e+08 | 2.470000e+12 | 40 | 0.0 | 145000.0 | 0.000000e+00 | 2366779.0 | 5.068050e+06 | 0 |
| 54 | Israel | 0.3111 | 589 | 259 | 18 | 15 | 154 | 146 | 48 | 2760 | 10275 | 650 | 300 | 100 | 65.0 | 0.0 | 5.0 | 0.0 | 0.0 | 2.000000e+10 | 8.866000e+10 | 47 | 390.0 | 250000.0 | 1.273000e+07 | 3647983.0 | 8.424904e+06 | 0 |
| 55 | Italy | 0.2111 | 860 | 99 | 110 | 38 | 185 | 439 | 59 | 200 | 6947 | 54 | 108 | 21 | 249.0 | 2.0 | 8.0 | 4.0 | 12.0 | 2.780000e+10 | 2.444000e+12 | 129 | 77530.0 | 1300000.0 | 5.567000e+08 | 28011003.0 | 6.224667e+07 | 0 |
| 56 | Ivory Coast | 2.0236 | 8 | 0 | 0 | 4 | 0 | 4 | 3 | 15 | 109 | 0 | 7 | 6 | 10.0 | 0.0 | 0.0 | 0.0 | 0.0 | 5.500000e+08 | 1.307000e+10 | 27 | 54000.0 | 25600.0 | 1.000000e+08 | 11160747.0 | 2.626058e+07 | 0 |
| 57 | Japan | 0.1501 | 1561 | 279 | 12 | 60 | 427 | 637 | 119 | 1004 | 3130 | 238 | 500 | 99 | 155.0 | 4.0 | 20.0 | 40.0 | 0.0 | 4.900000e+10 | 3.240000e+12 | 175 | 3841.0 | 4000000.0 | 4.412000e+07 | 53873803.0 | 1.261682e+08 | 0 |
| 58 | Jordan | 1.1441 | 278 | 44 | 4 | 16 | 75 | 146 | 47 | 1313 | 2897 | 461 | 72 | 88 | 37.0 | 0.0 | 0.0 | 0.0 | 0.0 | 2.600000e+09 | 2.934000e+10 | 18 | 22.0 | 110000.0 | 1.000000e+06 | 3346692.0 | 1.045841e+07 | 0 |
| 59 | Kazakhstan | 0.9098 | 222 | 76 | 39 | 18 | 18 | 71 | 18 | 650 | 800 | 0 | 300 | 100 | 15.0 | 0.0 | 0.0 | 0.0 | 0.0 | 4.000000e+09 | 1.675000e+11 | 96 | 1777000.0 | 245000.0 | 3.000000e+10 | 8585003.0 | 1.874455e+07 | 0 |
| 60 | Kenya | 1.5287 | 150 | 17 | 0 | 20 | 32 | 79 | 0 | 76 | 479 | 30 | 25 | 0 | 19.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1.210000e+08 | 2.759000e+10 | 197 | 0.0 | 82000.0 | 0.000000e+00 | 19600998.0 | 4.839753e+07 | 0 |
| 61 | Kuwait | 1.5701 | 85 | 27 | 0 | 2 | 13 | 40 | 16 | 367 | 745 | 98 | 0 | 27 | 38.0 | 0.0 | 0.0 | 0.0 | 0.0 | 6.831000e+09 | 4.724000e+10 | 7 | 2753000.0 | 345000.0 | 1.015000e+11 | 1641971.0 | 2.916467e+06 | 0 |
| 62 | Kyrgyzstan | 1.9244 | 5 | 0 | 0 | 0 | 0 | 5 | 2 | 150 | 385 | 30 | 141 | 21 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 2.000000e+07 | 8.164000e+09 | 28 | 1000.0 | 17200.0 | 4.000000e+07 | 3029935.0 | 5.849296e+06 | 0 |
| 63 | Laos | 3.4433 | 33 | 0 | 0 | 2 | 4 | 27 | 0 | 65 | 30 | 0 | 62 | 0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1.850000e+07 | 1.490000e+10 | 41 | 0.0 | 4500.0 | 0.000000e+00 | 3248143.0 | 7.234171e+06 | 0 |
| 64 | Latvia | 2.0145 | 5 | 0 | 0 | 0 | 12 | 5 | 0 | 0 | 303 | 47 | 20 | 0 | 18.0 | 0.0 | 0.0 | 0.0 | 0.0 | 7.240000e+08 | 4.002000e+10 | 42 | 0.0 | 32500.0 | 0.000000e+00 | 840595.0 | 1.923559e+06 | 0 |
| 65 | Lebanon | 2.5193 | 70 | 0 | 9 | 0 | 0 | 55 | 0 | 366 | 2228 | 12 | 374 | 30 | 57.0 | 0.0 | 0.0 | 0.0 | 0.0 | 2.500000e+09 | 3.930000e+10 | 8 | 0.0 | 110000.0 | 0.000000e+00 | 2135026.0 | 6.100075e+06 | 0 |
| 66 | Liberia | 5.5737 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1.300000e+07 | 1.036000e+09 | 29 | 0.0 | 4500.0 | 0.000000e+00 | 2226923.0 | 4.809768e+06 | 0 |
| 67 | Libya | 1.3696 | 114 | 17 | 2 | 4 | 62 | 26 | 7 | 250 | 450 | 50 | 100 | 55 | 5.0 | 0.0 | 0.0 | 0.0 | 1.0 | 3.000000e+09 | 3.020000e+09 | 146 | 897100.0 | 315000.0 | 4.836000e+10 | 3552871.0 | 6.754507e+06 | 0 |
| 68 | Lithuania | 1.4752 | 10 | 0 | 0 | 5 | 0 | 5 | 0 | 0 | 420 | 56 | 54 | 0 | 12.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1.107000e+09 | 3.448000e+10 | 61 | 2000.0 | 72400.0 | 1.200000e+07 | 1779322.0 | 2.793284e+06 | 0 |
| 69 | Madagascar | 3.0869 | 6 | 0 | 0 | 0 | 0 | 6 | 0 | 12 | 103 | 0 | 25 | 0 | 8.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1.150000e+08 | 4.089000e+09 | 83 | 0.0 | 18500.0 | 0.000000e+00 | 10145026.0 | 2.568361e+07 | 0 |
| 70 | Malaysia | 0.6546 | 170 | 26 | 13 | 18 | 40 | 65 | 0 | 74 | 1387 | 0 | 211 | 54 | 61.0 | 0.0 | 2.0 | 0.0 | 6.0 | 4.000000e+09 | 2.172000e+11 | 114 | 647900.0 | 835000.0 | 3.600000e+09 | 15201837.0 | 3.180966e+07 | 0 |
| 71 | Mali | 1.8941 | 29 | 9 | 0 | 6 | 5 | 8 | 6 | 80 | 248 | 0 | 50 | 32 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 7.000000e+07 | 4.192000e+09 | 25 | 0.0 | 5500.0 | 0.000000e+00 | 5991557.0 | 1.842989e+07 | 0 |
| 72 | Mauritania | 3.0477 | 28 | 0 | 2 | 6 | 9 | 4 | 0 | 35 | 95 | 0 | 224 | 0 | 5.0 | 0.0 | 0.0 | 0.0 | 0.0 | 5.025000e+07 | 4.150000e+09 | 30 | 4000.0 | 18500.0 | 2.000000e+07 | 1555374.0 | 3.840429e+06 | 0 |
| 73 | Mexico | 0.6065 | 484 | 3 | 33 | 43 | 206 | 202 | 0 | 0 | 2199 | 0 | 265 | 0 | 189.0 | 0.0 | 0.0 | 0.0 | 4.0 | 7.000000e+09 | 4.458000e+11 | 1714 | 1981000.0 | 2000000.0 | 7.640000e+09 | 60460418.0 | 1.259592e+08 | 0 |
| 74 | Moldova | 2.1291 | 3 | 0 | 0 | 1 | 0 | 2 | 0 | 0 | 341 | 9 | 52 | 11 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 3.000000e+07 | 6.549000e+09 | 7 | 0.0 | 16320.0 | 0.000000e+00 | 2014503.0 | 3.437720e+06 | 0 |
| 75 | Mongolia | 2.0299 | 9 | 0 | 0 | 3 | 0 | 6 | 0 | 470 | 750 | 0 | 300 | 130 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1.550000e+08 | 2.533000e+10 | 44 | 20000.0 | 25000.0 | 0.000000e+00 | 1818609.0 | 3.103428e+06 | 0 |
| 76 | Montenegro | 2.9941 | 9 | 0 | 0 | 0 | 0 | 9 | 0 | 0 | 26 | 0 | 12 | 18 | 18.0 | 0.0 | 0.0 | 0.0 | 2.0 | 6.500000e+07 | 2.516000e+09 | 5 | 0.0 | 4860.0 | 0.000000e+00 | 146191.0 | 6.142490e+05 | 0 |
| 77 | Morocco | 0.8408 | 214 | 46 | 0 | 31 | 67 | 64 | 0 | 1443 | 2901 | 505 | 200 | 144 | 121.0 | 0.0 | 0.0 | 0.0 | 3.0 | 1.000000e+10 | 5.148000e+10 | 55 | 160.0 | 206000.0 | 6.840000e+05 | 17157065.0 | 3.431413e+07 | 0 |
| 78 | Mozambique | 2.3364 | 16 | 8 | 0 | 1 | 1 | 6 | 2 | 100 | 335 | 0 | 260 | 12 | 8.0 | 0.0 | 0.0 | 0.0 | 0.0 | 2.450000e+08 | 1.091000e+10 | 98 | 0.0 | 22500.0 | 0.000000e+00 | 4629744.0 | 2.723379e+07 | 0 |
| 79 | Myanmar | 0.5691 | 276 | 59 | 21 | 27 | 82 | 86 | 9 | 434 | 1300 | 108 | 1612 | 84 | 187.0 | 0.0 | 1.0 | 0.0 | 5.0 | 2.650000e+09 | 6.594000e+09 | 64 | 12000.0 | 42600.0 | 1.390000e+08 | 30258643.0 | 5.562251e+07 | 0 |
| 80 | Namibia | 3.2817 | 30 | 6 | 0 | 3 | 14 | 7 | 2 | 7 | 410 | 0 | 50 | 4 | 8.0 | 0.0 | 0.0 | 0.0 | 0.0 | 5.050000e+08 | 7.969000e+09 | 112 | 0.0 | 25000.0 | 0.000000e+00 | 582642.0 | 2.533224e+06 | 0 |
| 81 | Nepal | 2.9891 | 16 | 0 | 0 | 3 | 0 | 13 | 0 | 0 | 214 | 0 | 84 | 0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 2.130000e+08 | 5.849000e+09 | 47 | 0.0 | 20000.0 | 0.000000e+00 | 14739923.0 | 2.971759e+07 | 0 |
| 82 | Netherlands | 0.5919 | 168 | 61 | 1 | 4 | 27 | 75 | 28 | 18 | 1546 | 57 | 160 | 0 | 63.0 | 0.0 | 4.0 | 0.0 | 6.0 | 1.241900e+10 | 4.063000e+12 | 29 | 18170.0 | 840000.0 | 1.132000e+08 | 7820960.0 | 1.715123e+07 | 0 |
| 83 | New Zealand | 1.3684 | 48 | 0 | 0 | 7 | 13 | 22 | 0 | 0 | 200 | 0 | 24 | 0 | 11.0 | 0.0 | 0.0 | 0.0 | 2.0 | 4.300000e+09 | 9.162000e+10 | 123 | 31480.0 | 150000.0 | 5.690000e+07 | 2115989.0 | 4.545627e+06 | 0 |
| 84 | Nicaragua | 2.2747 | 19 | 0 | 0 | 5 | 1 | 14 | 0 | 104 | 265 | 0 | 654 | 163 | 30.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1.400000e+08 | 1.131000e+10 | 147 | 0.0 | 35000.0 | 0.000000e+00 | 3030436.0 | 6.085213e+06 | 0 |
| 85 | Niger | 2.0153 | 16 | 0 | 2 | 5 | 0 | 7 | 1 | 0 | 182 | 0 | 0 | 0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 3.250000e+08 | 3.728000e+09 | 30 | 11000.0 | 6500.0 | 1.500000e+08 | 6754519.0 | 1.986623e+07 | 0 |
| 86 | Nigeria | 0.6485 | 129 | 8 | 13 | 21 | 47 | 44 | 15 | 253 | 1789 | 25 | 339 | 36 | 75.0 | 0.0 | 0.0 | 0.0 | 0.0 | 2.155000e+09 | 4.096000e+10 | 54 | 1946000.0 | 275000.0 | 3.706000e+10 | 77108499.0 | 2.034525e+08 | 0 |
| 87 | North Korea | 0.3718 | 949 | 458 | 114 | 4 | 169 | 204 | 20 | 6045 | 10000 | 800 | 1000 | 2110 | 984.0 | 0.0 | 83.0 | 0.0 | 11.0 | 1.600000e+09 | 5.000000e+09 | 82 | 0.0 | 15500.0 | 0.000000e+00 | 13045878.0 | 2.538108e+07 | 0 |
| 88 | North Macedonia | 3.1808 | 20 | 0 | 0 | 0 | 10 | 14 | 4 | 31 | 251 | 0 | 144 | 24 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1.081525e+08 | 8.790000e+09 | 10 | 0.0 | 18500.0 | 0.000000e+00 | 1053116.0 | 2.118945e+06 | 0 |
| 89 | Norway | 0.5277 | 150 | 59 | 15 | 4 | 32 | 47 | 0 | 52 | 730 | 80 | 0 | 12 | 62.0 | 0.0 | 6.0 | 0.0 | 4.0 | 7.179000e+09 | 6.423000e+11 | 95 | 1618000.0 | 260000.0 | 6.611000e+09 | 2170365.0 | 5.372191e+06 | 0 |
| 90 | Oman | 1.2514 | 131 | 29 | 10 | 9 | 46 | 42 | 0 | 117 | 761 | 39 | 144 | 12 | 16.0 | 0.0 | 0.0 | 0.0 | 0.0 | 8.686000e+09 | 4.627000e+10 | 132 | 970400.0 | 100000.0 | 5.373000e+09 | 1764529.0 | 3.494116e+06 | 0 |
| 91 | Pakistan | 0.2364 | 1372 | 356 | 90 | 49 | 513 | 346 | 56 | 2200 | 7330 | 429 | 1226 | 100 | 100.0 | 0.0 | 8.0 | 0.0 | 9.0 | 1.140000e+10 | 8.219000e+10 | 151 | 89720.0 | 575000.0 | 3.506000e+08 | 96344277.0 | 2.078625e+08 | 0 |
| 92 | Panama | 3.6537 | 39 | 0 | 0 | 11 | 4 | 23 | 0 | 0 | 65 | 0 | 0 | 0 | 20.0 | 0.0 | 0.0 | 0.0 | 0.0 | 5.000000e+08 | 9.153000e+10 | 117 | 0.0 | 100000.0 | 0.000000e+00 | 1759698.0 | 3.800644e+06 | 0 |
| 93 | Paraguay | 2.1898 | 33 | 0 | 0 | 6 | 15 | 11 | 0 | 13 | 63 | 0 | 108 | 0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 2.500000e+08 | 1.770000e+10 | 799 | 0.0 | 30000.0 | 0.000000e+00 | 3372366.0 | 7.025763e+06 | 0 |
| 94 | Peru | 0.6219 | 273 | 17 | 38 | 40 | 77 | 99 | 16 | 146 | 552 | 24 | 231 | 70 | 60.0 | 0.0 | 5.0 | 0.0 | 7.0 | 2.560000e+09 | 6.625000e+10 | 191 | 43520.0 | 210000.0 | 4.730000e+08 | 15352302.0 | 3.133123e+07 | 0 |
| 95 | Philippines | 0.7852 | 171 | 0 | 19 | 23 | 24 | 97 | 0 | 7 | 513 | 0 | 286 | 0 | 103.0 | 0.0 | 0.0 | 0.0 | 2.0 | 3.470000e+09 | 7.618000e+10 | 247 | 15000.0 | 320000.0 | 1.385000e+08 | 51887757.0 | 1.058934e+08 | 0 |
| 96 | Poland | 0.3397 | 457 | 91 | 0 | 49 | 104 | 176 | 30 | 1069 | 2547 | 547 | 0 | 180 | 87.0 | 0.0 | 3.0 | 0.0 | 2.0 | 1.200000e+10 | 2.410000e+11 | 126 | 20070.0 | 585000.0 | 1.378000e+08 | 18826137.0 | 3.842069e+07 | 0 |
| 97 | Portugal | 0.8612 | 90 | 24 | 0 | 11 | 18 | 23 | 0 | 133 | 756 | 18 | 61 | 0 | 41.0 | 0.0 | 2.0 | 0.0 | 5.0 | 3.358000e+09 | 4.490000e+11 | 64 | 0.0 | 265000.0 | 0.000000e+00 | 4804949.0 | 1.035549e+07 | 0 |
| 98 | Qatar | 1.6703 | 123 | 24 | 6 | 12 | 35 | 46 | 3 | 92 | 250 | 46 | 12 | 15 | 86.0 | 0.0 | 0.0 | 0.0 | 0.0 | 6.000000e+09 | 1.678000e+11 | 6 | 1500000.0 | 190000.0 | 2.524000e+10 | 612164.0 | 2.363569e+06 | 0 |
| 99 | Republic of the Congo | 2.9509 | 13 | 2 | 0 | 3 | 0 | 8 | 1 | 86 | 225 | 0 | 0 | 6 | 6.0 | 0.0 | 0.0 | 0.0 | 0.0 | 7.150000e+08 | 4.605000e+09 | 27 | 244200.0 | 185000.0 | 1.600000e+09 | 1938754.0 | 5.062021e+06 | 0 |
| 100 | Romania | 0.6177 | 143 | 26 | 0 | 12 | 41 | 62 | 0 | 943 | 1369 | 0 | 808 | 243 | 48.0 | 0.0 | 0.0 | 0.0 | 3.0 | 5.050000e+09 | 9.597000e+10 | 45 | 73740.0 | 240000.0 | 6.000000e+08 | 11007501.0 | 2.145712e+07 | 0 |
| 102 | Saudi Arabia | 0.3034 | 879 | 270 | 81 | 49 | 208 | 283 | 34 | 1062 | 12825 | 705 | 1818 | 122 | 55.0 | 0.0 | 0.0 | 0.0 | 3.0 | 6.760000e+10 | 2.051000e+11 | 214 | 10130000.0 | 4000000.0 | 2.665000e+11 | 17703745.0 | 3.309111e+07 | 0 |
| 103 | Serbia | 0.9479 | 109 | 9 | 17 | 1 | 38 | 44 | 0 | 293 | 904 | 87 | 144 | 88 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 9.070000e+08 | 2.950000e+10 | 26 | 18740.0 | 75000.0 | 7.750000e+07 | 3468274.0 | 7.078110e+06 | 0 |
| 104 | Sierra Leone | 4.2063 | 5 | 0 | 0 | 0 | 0 | 5 | 2 | 0 | 13 | 0 | 0 | 0 | 10.0 | 0.0 | 0.0 | 0.0 | 0.0 | 7.550000e+07 | 1.615000e+09 | 8 | 0.0 | 9500.0 | 0.000000e+00 | 1432872.0 | 6.312212e+06 | 0 |
| 105 | Singapore | 0.7966 | 235 | 100 | 0 | 9 | 36 | 77 | 17 | 180 | 3000 | 48 | 77 | 24 | 40.0 | 0.0 | 0.0 | 0.0 | 6.0 | 1.120000e+10 | 5.661000e+11 | 9 | 0.0 | 1340000.0 | 0.000000e+00 | 4017314.0 | 5.995991e+06 | 0 |
| 106 | Slovakia | 0.8466 | 47 | 10 | 0 | 7 | 8 | 21 | 0 | 20 | 661 | 16 | 9 | 25 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 2.121818e+09 | 7.504000e+10 | 35 | 200.0 | 82000.0 | 9.000000e+06 | 2776970.0 | 5.445040e+06 | 0 |
| 107 | Slovenia | 1.9496 | 38 | 0 | 0 | 3 | 23 | 16 | 0 | 44 | 269 | 0 | 63 | 0 | 2.0 | 0.0 | 0.0 | 0.0 | 0.0 | 5.810000e+08 | 4.630000e+10 | 16 | 5.0 | 55000.0 | 0.000000e+00 | 1002714.0 | 2.102126e+06 | 0 |
| 108 | Somalia | 4.6404 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 10 | 100 | 0 | 30 | 10 | 3.0 | 0.0 | 0.0 | 0.0 | 0.0 | 6.220000e+07 | 5.300000e+09 | 61 | 0.0 | 6200.0 | 0.000000e+00 | 2702167.0 | 1.125903e+07 | 0 |
| 109 | South Africa | 0.4985 | 226 | 17 | 0 | 23 | 88 | 91 | 12 | 195 | 2000 | 43 | 72 | 50 | 30.0 | 0.0 | 3.0 | 0.0 | 4.0 | 4.278000e+09 | 1.563000e+11 | 566 | 2000.0 | 605000.0 | 1.500000e+07 | 26250220.0 | 5.538021e+07 | 0 |
| 110 | South Korea | 0.1509 | 1649 | 414 | 71 | 41 | 298 | 803 | 112 | 2614 | 14000 | 3040 | 3854 | 575 | 234.0 | 0.0 | 19.0 | 12.0 | 12.0 | 4.400000e+10 | 3.846000e+11 | 111 | 0.0 | 2800000.0 | 0.000000e+00 | 25709049.0 | 5.141810e+07 | 0 |
| 111 | South Sudan | 2.3501 | 19 | 0 | 0 | 2 | 0 | 17 | 6 | 110 | 200 | 24 | 0 | 14 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 8.000000e+07 | 2.250000e+09 | 85 | 150200.0 | 60000.0 | 3.750000e+09 | 5245155.0 | 1.020458e+07 | 0 |
| 112 | Spain | 0.3388 | 512 | 137 | 12 | 46 | 162 | 162 | 19 | 327 | 2023 | 95 | 140 | 0 | 77.0 | 1.0 | 3.0 | 0.0 | 11.0 | 1.510000e+10 | 2.094000e+12 | 150 | 2252.0 | 1226000.0 | 1.500000e+08 | 23136275.0 | 4.933108e+07 | 0 |
| 113 | Sri Lanka | 1.4661 | 77 | 0 | 0 | 15 | 6 | 54 | 9 | 202 | 570 | 0 | 209 | 22 | 40.0 | 0.0 | 0.0 | 0.0 | 0.0 | 2.500000e+09 | 5.172000e+10 | 19 | 0.0 | 90000.0 | 0.000000e+00 | 10927071.0 | 2.257659e+07 | 0 |
| 114 | Sudan | 1.3017 | 190 | 46 | 38 | 22 | 11 | 73 | 43 | 690 | 400 | 10 | 0 | 0 | 18.0 | 0.0 | 0.0 | 0.0 | 0.0 | 2.470000e+09 | 5.605000e+10 | 74 | 102300.0 | 96800.0 | 5.000000e+09 | 24061430.0 | 4.312084e+07 | 0 |
| 115 | Suriname | 4.6042 | 3 | 0 | 0 | 0 | 0 | 3 | 0 | 0 | 66 | 0 | 0 | 0 | 3.0 | 0.0 | 0.0 | 0.0 | 0.0 | 6.300000e+07 | 1.700000e+09 | 55 | 17000.0 | 15100.0 | 8.398000e+07 | 132740.0 | 5.979270e+05 | 0 |
| 116 | Sweden | 0.5304 | 204 | 71 | 0 | 6 | 69 | 53 | 0 | 126 | 1036 | 88 | 0 | 0 | 63.0 | 0.0 | 5.0 | 0.0 | 0.0 | 6.326924e+09 | 9.399000e+11 | 231 | 0.0 | 320000.0 | 0.000000e+00 | 4116808.0 | 1.004100e+07 | 0 |
| 117 | Switzerland | 0.5259 | 169 | 54 | 0 | 18 | 54 | 42 | 0 | 326 | 1338 | 224 | 0 | 0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 5.000000e+09 | 1.664000e+12 | 63 | 0.0 | 260000.0 | 0.000000e+00 | 3632250.0 | 8.292809e+06 | 0 |
| 118 | Syria | 0.8241 | 456 | 199 | 20 | 5 | 67 | 165 | 27 | 4135 | 5370 | 575 | 2550 | 750 | 56.0 | 0.0 | 0.0 | 0.0 | 2.0 | 1.800000e+09 | 4.989000e+09 | 90 | 14000.0 | 260000.0 | 2.500000e+09 | 12450728.0 | 1.945426e+07 | 0 |
| 119 | Taiwan | 0.4008 | 744 | 289 | 0 | 19 | 207 | 210 | 91 | 1180 | 2000 | 482 | 1160 | 115 | 117.0 | 0.0 | 4.0 | 4.0 | 22.0 | 1.072500e+10 | 1.819000e+11 | 37 | 196.0 | 1032000.0 | 2.380000e+06 | 12196809.0 | 2.354596e+07 | 0 |
| 120 | Tajikistan | 1.8661 | 25 | 0 | 0 | 1 | 4 | 20 | 6 | 253 | 347 | 0 | 90 | 128 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1.600000e+09 | 5.750000e+09 | 24 | 180.0 | 20500.0 | 1.200000e+07 | 4095924.0 | 8.604882e+06 | 0 |
| 121 | Tanzania | 2.0651 | 34 | 14 | 0 | 6 | 8 | 6 | 0 | 156 | 70 | 0 | 12 | 0 | 19.0 | 0.0 | 0.0 | 0.0 | 0.0 | 2.230000e+08 | 1.766000e+10 | 166 | 0.0 | 46000.0 | 0.000000e+00 | 10258498.0 | 5.545134e+07 | 0 |
| 122 | Thailand | 0.3571 | 570 | 75 | 19 | 48 | 154 | 307 | 7 | 841 | 1416 | 20 | 776 | 25 | 292.0 | 1.0 | 0.0 | 0.0 | 7.0 | 7.100000e+09 | 1.320000e+11 | 101 | 239700.0 | 1345000.0 | 3.964000e+08 | 35543014.0 | 6.861586e+07 | 0 |
| 123 | Tunisia | 1.4619 | 147 | 12 | 0 | 14 | 29 | 92 | 0 | 181 | 878 | 20 | 165 | 0 | 50.0 | 0.0 | 0.0 | 0.0 | 0.0 | 5.500000e+08 | 3.019000e+10 | 29 | 49170.0 | 90500.0 | 4.250000e+08 | 5850224.0 | 1.151619e+07 | 0 |
| 124 | Turkey | 0.2098 | 1055 | 206 | 0 | 80 | 276 | 497 | 100 | 2622 | 8777 | 1278 | 1260 | 438 | 149.0 | 0.0 | 12.0 | 0.0 | 16.0 | 1.900000e+10 | 4.524000e+11 | 98 | 245000.0 | 845000.0 | 3.885000e+08 | 41847478.0 | 8.125724e+07 | 0 |
| 125 | Turkmenistan | 1.3292 | 72 | 24 | 20 | 3 | 0 | 25 | 10 | 712 | 2000 | 68 | 269 | 116 | 4.0 | 0.0 | 0.0 | 0.0 | 0.0 | 2.000000e+08 | 5.394000e+08 | 26 | 230880.0 | 150000.0 | 6.000000e+08 | 2797493.0 | 5.411012e+06 | 0 |
| 126 | Uganda | 1.6176 | 48 | 10 | 0 | 2 | 10 | 26 | 5 | 371 | 1081 | 6 | 53 | 26 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 9.350000e+08 | 1.080000e+10 | 47 | 0.0 | 17500.0 | 2.500000e+09 | 14707350.0 | 4.085375e+07 | 0 |
| 127 | Ukraine | 0.4457 | 297 | 48 | 25 | 32 | 76 | 121 | 34 | 2026 | 10135 | 738 | 2040 | 430 | 25.0 | 0.0 | 0.0 | 0.0 | 1.0 | 5.400000e+09 | 1.300000e+11 | 187 | 29650.0 | 325000.0 | 3.950000e+08 | 22195911.0 | 4.395230e+07 | 0 |
| 128 | United Arab Emirates | 0.7034 | 538 | 98 | 20 | 40 | 145 | 229 | 30 | 434 | 8691 | 183 | 76 | 72 | 75.0 | 0.0 | 0.0 | 0.0 | 0.0 | 2.275500e+10 | 2.376000e+11 | 43 | 3174000.0 | 575000.0 | 9.780000e+10 | 5820789.0 | 9.701315e+06 | 0 |
| 129 | United Kingdom | 0.1717 | 733 | 133 | 15 | 44 | 241 | 312 | 49 | 227 | 5000 | 89 | 126 | 35 | 88.0 | 2.0 | 10.0 | 6.0 | 13.0 | 5.510000e+10 | 8.126000e+12 | 460 | 910500.0 | 1600000.0 | 2.564000e+09 | 29948413.0 | 6.510525e+07 | 0 |
| 131 | Uruguay | 1.8909 | 50 | 0 | 7 | 9 | 16 | 13 | 0 | 78 | 463 | 0 | 0 | 4 | 20.0 | 0.0 | 0.0 | 0.0 | 1.0 | 4.950000e+09 | 2.837000e+10 | 133 | 0.0 | 55600.0 | 0.000000e+00 | 1549878.0 | 3.369299e+06 | 0 |
| 132 | Uzbekistan | 0.8086 | 185 | 66 | 20 | 18 | 2 | 79 | 25 | 420 | 1215 | 137 | 0 | 98 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 9.750000e+08 | 1.690000e+10 | 53 | 46070.0 | 142000.0 | 5.940000e+08 | 15912566.0 | 3.002371e+07 | 0 |
| 133 | Venezuela | 0.6449 | 260 | 38 | 0 | 52 | 82 | 86 | 10 | 390 | 600 | 73 | 104 | 36 | 49.0 | 0.0 | 2.0 | 0.0 | 4.0 | 7.450000e+08 | 1.003000e+11 | 444 | 2007000.0 | 575000.0 | 3.009000e+11 | 14260129.0 | 3.168918e+07 | 0 |
| 134 | Vietnam | 0.3559 | 293 | 77 | 0 | 38 | 36 | 138 | 25 | 2615 | 2530 | 70 | 1000 | 85 | 65.0 | 0.0 | 6.0 | 0.0 | 9.0 | 5.500000e+09 | 9.658000e+10 | 45 | 271400.0 | 525000.0 | 4.400000e+09 | 51043216.0 | 9.704033e+07 | 0 |
| 135 | Yemen | 1.2412 | 169 | 77 | 0 | 8 | 21 | 61 | 14 | 620 | 615 | 20 | 85 | 150 | 30.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1.400000e+09 | 7.068000e+09 | 57 | 12260.0 | 145000.0 | 3.000000e+09 | 11266221.0 | 2.866723e+07 | 0 |
| 136 | Zambia | 1.6464 | 108 | 18 | 0 | 11 | 52 | 27 | 0 | 75 | 184 | 0 | 42 | 50 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 4.000000e+07 | 1.166000e+10 | 88 | 0.0 | 21000.0 | 0.000000e+00 | 6166905.0 | 1.644508e+07 | 0 |
| 137 | Zimbabwe | 1.7577 | 90 | 10 | 0 | 14 | 38 | 28 | 6 | 42 | 300 | 0 | 65 | 22 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1.000000e+08 | 9.357000e+09 | 196 | 0.0 | 19500.0 | 0.000000e+00 | 5584086.0 | 1.403037e+07 | 0 |
df[df["cluster"] == 1]
| country | Military Strength Power Index | Airforce Strength_Aircraft Strength value | Airforce Strength_Fighter/Interceptor Strength value | Airforce Strength_Attack Aircraft Strength value | Airforce Strength_Transport Aircraft Fleet Strength value | Airforce Strength_Trainer Aircraft Fleet value | Airforce Strength_Helicopter Fleet Strength value | Airforce Strength_Attack Helicopter Fleet Strength value | Land Strength_Tank Strength value | Land Strength_AFV/APC Strength value | Land Strength_Self-Propelled Artillery Strength value | Land Strength_Towed Artillery Strength value | Land Strength_Rocket Projector Strength value | Navy Strength_Navy Fleet Strengths value | Navy Strength_Aircraft Carrier Fleet Strength value | Navy Strength_Submarine Fleet Strength value | Navy Strength_Destroyer Fleet Strength value | Navy Strength_Frigate Fleet Strength value | Finances_defense spending budget value | Finances_External Debt value | Logistics_Airport Totals value | Natural resources_Oil Production value | Natural resources_Oil Consumption value | Natural resources_Proven Oil Reserves value | Manpower_Available Manpower value | Manpower_Total Population value | cluster | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 130 | United States | 0.0606 | 13264 | 2085 | 715 | 945 | 2643 | 5768 | 967 | 6289 | 39253 | 1465 | 2740 | 1366 | 490.0 | 20.0 | 66.0 | 91.0 | 0.0 | 7.500000e+11 | 1.791000e+13 | 13513 | 9352000.0 | 20000000.0 | 3.652000e+10 | 144872845.0 | 329256465.0 | 1 |
df[df["cluster"] == 2]
| country | Military Strength Power Index | Airforce Strength_Aircraft Strength value | Airforce Strength_Fighter/Interceptor Strength value | Airforce Strength_Attack Aircraft Strength value | Airforce Strength_Transport Aircraft Fleet Strength value | Airforce Strength_Trainer Aircraft Fleet value | Airforce Strength_Helicopter Fleet Strength value | Airforce Strength_Attack Helicopter Fleet Strength value | Land Strength_Tank Strength value | Land Strength_AFV/APC Strength value | Land Strength_Self-Propelled Artillery Strength value | Land Strength_Towed Artillery Strength value | Land Strength_Rocket Projector Strength value | Navy Strength_Navy Fleet Strengths value | Navy Strength_Aircraft Carrier Fleet Strength value | Navy Strength_Submarine Fleet Strength value | Navy Strength_Destroyer Fleet Strength value | Navy Strength_Frigate Fleet Strength value | Finances_defense spending budget value | Finances_External Debt value | Logistics_Airport Totals value | Natural resources_Oil Production value | Natural resources_Oil Consumption value | Natural resources_Proven Oil Reserves value | Manpower_Available Manpower value | Manpower_Total Population value | cluster | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 26 | China | 0.0691 | 3210 | 1232 | 371 | 224 | 314 | 911 | 281 | 3500 | 33000 | 3800 | 3600 | 2650 | 777.0 | 2.0 | 74.0 | 36.0 | 52.0 | 2.370000e+11 | 1.598000e+12 | 507 | 3838000.0 | 13500000.0 | 2.562000e+10 | 752855402.0 | 1.384689e+09 | 2 |
| 101 | Russia | 0.0681 | 4163 | 873 | 742 | 424 | 497 | 1522 | 531 | 12950 | 27038 | 6083 | 4465 | 3860 | 603.0 | 1.0 | 62.0 | 16.0 | 10.0 | 4.800000e+10 | 5.396000e+11 | 1218 | 10580000.0 | 3225000.0 | 8.000000e+10 | 69640160.0 | 1.421228e+08 | 2 |
print(f'Silhouette Score(n=4): {silhouette_score(X, df.cluster)}') # towards to 1 means, data good clustered by model
Silhouette Score(n=4): 0.8388682569557854
range_n_clusters = range(2,9)
for num_clusters in range_n_clusters:
# intialise kmeans
kmeans = KMeans(n_clusters=num_clusters, random_state=42)
kmeans.fit(X)
cluster_labels = kmeans.labels_
# silhouette score
silhouette_avg = silhouette_score(X, cluster_labels)
print(f"For n_clusters={num_clusters}, the silhouette score is {silhouette_avg}")
For n_clusters=2, the silhouette score is 0.8645343457024808 For n_clusters=3, the silhouette score is 0.8194441293083203 For n_clusters=4, the silhouette score is 0.4955821939029867 For n_clusters=5, the silhouette score is 0.5176044245264125 For n_clusters=6, the silhouette score is 0.4865589638170736 For n_clusters=7, the silhouette score is 0.4861811103301968 For n_clusters=8, the silhouette score is 0.4769827086899002
kmean = pd.DataFrame(X,columns=df.drop(["country","cluster"],axis=1).columns)
kmean["cluster"] = df["cluster"]
clus_pred_kmean = kmean.groupby("cluster").mean().T
clus_pred_kmean
| cluster | 0 | 1 | 2 |
|---|---|---|---|
| Military Strength Power Index | 0.023495 | -1.061327 | -1.055263 |
| Airforce Strength_Aircraft Strength value | -0.117501 | 10.489144 | 2.686763 |
| Airforce Strength_Fighter/Interceptor Strength value | -0.127346 | 8.729991 | 4.230860 |
| Airforce Strength_Attack Aircraft Strength value | -0.137689 | 7.317921 | 5.635064 |
| Airforce Strength_Transport Aircraft Fleet Strength value | -0.120965 | 9.943640 | 3.193295 |
| Airforce Strength_Trainer Aircraft Fleet value | -0.098964 | 10.670489 | 1.344839 |
| Airforce Strength_Helicopter Fleet Strength value | -0.110602 | 10.831533 | 2.049863 |
| Airforce Strength_Attack Helicopter Fleet Strength value | -0.130020 | 9.707636 | 3.922510 |
| Land Strength_Tank Strength value | -0.102035 | 3.736804 | 5.018954 |
| Land Strength_AFV/APC Strength value | -0.126185 | 6.820244 | 5.107360 |
| Land Strength_Self-Propelled Artillery Strength value | -0.115742 | 1.827546 | 6.898793 |
| Land Strength_Towed Artillery Strength value | -0.088785 | 2.922092 | 4.531968 |
| Land Strength_Rocket Projector Strength value | -0.113657 | 2.505197 | 6.419227 |
| Navy Strength_Navy Fleet Strengths value | -0.086812 | 2.957722 | 4.380943 |
| Navy Strength_Aircraft Carrier Fleet Strength value | -0.091292 | 10.990097 | 0.667169 |
| Navy Strength_Submarine Fleet Strength value | -0.112117 | 4.939065 | 5.098333 |
| Navy Strength_Destroyer Fleet Strength value | -0.111959 | 9.788704 | 2.662858 |
| Navy Strength_Frigate Fleet Strength value | -0.066416 | -0.486141 | 4.726171 |
| Finances_defense spending budget value | -0.109676 | 10.974103 | 1.916073 |
| Finances_External Debt value | -0.074411 | 9.448554 | 0.298445 |
| Logistics_Airport Totals value | -0.088062 | 10.941042 | 0.473666 |
| Natural resources_Oil Production value | -0.098166 | 5.277535 | 3.987416 |
| Natural resources_Oil Consumption value | -0.118669 | 8.930373 | 3.544980 |
| Natural resources_Proven Oil Reserves value | -0.018487 | 0.576956 | 0.959389 |
| Manpower_Available Manpower value | -0.078388 | 1.418403 | 4.581992 |
| Manpower_Total Population value | -0.076390 | 1.678174 | 4.317225 |
fig= px.line(clus_pred_kmean)
fig.show()
from scipy.cluster.hierarchy import dendrogram, linkage
# yeni bir data geldiğinde direkt predict yapamayız, datanın içine atarak işlem yapmalıyız.
hc_ward = linkage(y = X, method = "ward") # eklendiği sınıfın varyansını düşürecek şekile ata
hc_complete = linkage(X, "complete") # en uzak noktaya göre en küçük değer
hc_average = linkage(X, "average") # ortalama
hc_single = linkage(X, "single") #en yakın noktaya göre en küçük değer
plt.figure(figsize = (20,12))
plt.subplot(221)
plt.title("Ward")
plt.xlabel("Observations")
plt.ylabel("Distance")
dendrogram(hc_ward, leaf_font_size = 10, truncate_mode='lastp', p=10)
plt.subplot(222)
plt.title("Complete")
plt.xlabel("Observations")
plt.ylabel("Distance")
dendrogram(hc_complete, leaf_font_size = 10, truncate_mode='lastp', p=10)
plt.subplot(223)
plt.title("Average")
plt.xlabel("Observations")
plt.ylabel("Distance")
dendrogram(hc_average, leaf_font_size = 10, truncate_mode='lastp', p=10)
plt.subplot(224)
plt.title("Single")
plt.xlabel("Observations")
plt.ylabel("Distance")
dendrogram(hc_single, leaf_font_size = 10, truncate_mode='lastp', p=10);
from sklearn.cluster import AgglomerativeClustering
# elbow yapılmıyor
model1 = AgglomerativeClustering(n_clusters=4, affinity = "euclidean", linkage = "ward")
model1.fit_predict(X)
array([3, 3, 1, 3, 3, 3, 1, 3, 3, 3, 1, 1, 3, 3, 3, 3, 3, 1, 1, 3, 3, 3,
1, 3, 3, 1, 0, 1, 3, 3, 3, 3, 1, 3, 3, 1, 3, 3, 3, 1, 1, 3, 3, 1,
3, 1, 3, 3, 3, 0, 1, 1, 1, 3, 1, 1, 3, 1, 1, 3, 3, 1, 3, 3, 3, 3,
3, 3, 3, 3, 1, 3, 3, 1, 3, 3, 3, 1, 3, 1, 3, 3, 1, 3, 3, 3, 3, 1,
3, 3, 3, 1, 3, 3, 1, 3, 1, 1, 3, 3, 1, 0, 1, 3, 3, 1, 3, 3, 3, 1,
1, 3, 1, 3, 3, 3, 3, 3, 1, 1, 3, 3, 1, 3, 1, 3, 3, 1, 1, 1, 2, 3,
3, 1, 1, 3, 3, 3], dtype=int64)
range_n_clusters = range(2,9)
for num_clusters in range_n_clusters:
# intialise kmeans
kmeans = KMeans(n_clusters=num_clusters, random_state=42)
kmeans.fit(X)
cluster_labels = kmeans.labels_
# silhouette score
silhouette_avg = silhouette_score(X, cluster_labels)
print(f"For n_clusters={num_clusters}, the silhouette score is {silhouette_avg}")
For n_clusters=2, the silhouette score is 0.8645343457024808 For n_clusters=3, the silhouette score is 0.8194441293083203 For n_clusters=4, the silhouette score is 0.4955821939029867 For n_clusters=5, the silhouette score is 0.5176044245264125 For n_clusters=6, the silhouette score is 0.4865589638170736 For n_clusters=7, the silhouette score is 0.4861811103301968 For n_clusters=8, the silhouette score is 0.4769827086899002
df["cluster_1"] = model1.labels_
fig = px.scatter_3d(x=df["Airforce Strength_Aircraft Strength value"],
y=df["Finances_defense spending budget value"],
z=df["Finances_External Debt value"],
color=df.cluster_1,
labels = {"x": "Airforce Strength_Aircraft Strength value",
"y": "Finances_defense spending budget value",
"z": "Finances_External Debt value"},
hover_name=df["country"])
fig.show()
plt.figure(figsize=(15,10))
plt.title("Cluster Count")
ax1 = sns.countplot(x = df.cluster_1)
for p in ax1.patches:
ax1.annotate(
text=f"{p.get_height():1.0f}",
xy=(p.get_x() + p.get_width() / 2., p.get_height()),
xycoords='data',
ha='center',
va='center',
fontsize=11,
color='black',
xytext=(0,7),
textcoords='offset points',
clip_on=True,
)
plt.show();
dend = pd.DataFrame(X,columns=df.drop(["country","cluster","cluster_1"],axis=1).columns)
dend["cluster"] = df["cluster_1"]
clus_pred_dend = dend.groupby("cluster").mean().T
clus_pred_dend
fig= px.line(clus_pred_dend)
fig.show()
df[df["cluster_1"] == 0]
| country | Military Strength Power Index | Airforce Strength_Aircraft Strength value | Airforce Strength_Fighter/Interceptor Strength value | Airforce Strength_Attack Aircraft Strength value | Airforce Strength_Transport Aircraft Fleet Strength value | Airforce Strength_Trainer Aircraft Fleet value | Airforce Strength_Helicopter Fleet Strength value | Airforce Strength_Attack Helicopter Fleet Strength value | Land Strength_Tank Strength value | Land Strength_AFV/APC Strength value | Land Strength_Self-Propelled Artillery Strength value | Land Strength_Towed Artillery Strength value | Land Strength_Rocket Projector Strength value | Navy Strength_Navy Fleet Strengths value | Navy Strength_Aircraft Carrier Fleet Strength value | Navy Strength_Submarine Fleet Strength value | Navy Strength_Destroyer Fleet Strength value | Navy Strength_Frigate Fleet Strength value | Finances_defense spending budget value | Finances_External Debt value | Logistics_Airport Totals value | Natural resources_Oil Production value | Natural resources_Oil Consumption value | Natural resources_Proven Oil Reserves value | Manpower_Available Manpower value | Manpower_Total Population value | cluster | cluster_1 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 26 | China | 0.0691 | 3210 | 1232 | 371 | 224 | 314 | 911 | 281 | 3500 | 33000 | 3800 | 3600 | 2650 | 777.0 | 2.0 | 74.0 | 36.0 | 52.0 | 2.370000e+11 | 1.598000e+12 | 507 | 3838000.0 | 13500000.0 | 2.562000e+10 | 752855402.0 | 1.384689e+09 | 2 | 0 |
| 49 | India | 0.0953 | 2123 | 538 | 172 | 250 | 359 | 722 | 23 | 4292 | 8686 | 235 | 4060 | 266 | 285.0 | 1.0 | 16.0 | 10.0 | 13.0 | 6.100000e+10 | 5.016000e+11 | 346 | 733900.0 | 5000000.0 | 4.621000e+09 | 622480340.0 | 1.296834e+09 | 0 | 0 |
| 101 | Russia | 0.0681 | 4163 | 873 | 742 | 424 | 497 | 1522 | 531 | 12950 | 27038 | 6083 | 4465 | 3860 | 603.0 | 1.0 | 62.0 | 16.0 | 10.0 | 4.800000e+10 | 5.396000e+11 | 1218 | 10580000.0 | 3225000.0 | 8.000000e+10 | 69640160.0 | 1.421228e+08 | 2 | 0 |
df[df["cluster_1"] == 1]
| country | Military Strength Power Index | Airforce Strength_Aircraft Strength value | Airforce Strength_Fighter/Interceptor Strength value | Airforce Strength_Attack Aircraft Strength value | Airforce Strength_Transport Aircraft Fleet Strength value | Airforce Strength_Trainer Aircraft Fleet value | Airforce Strength_Helicopter Fleet Strength value | Airforce Strength_Attack Helicopter Fleet Strength value | Land Strength_Tank Strength value | Land Strength_AFV/APC Strength value | Land Strength_Self-Propelled Artillery Strength value | Land Strength_Towed Artillery Strength value | Land Strength_Rocket Projector Strength value | Navy Strength_Navy Fleet Strengths value | Navy Strength_Aircraft Carrier Fleet Strength value | Navy Strength_Submarine Fleet Strength value | Navy Strength_Destroyer Fleet Strength value | Navy Strength_Frigate Fleet Strength value | Finances_defense spending budget value | Finances_External Debt value | Logistics_Airport Totals value | Natural resources_Oil Production value | Natural resources_Oil Consumption value | Natural resources_Proven Oil Reserves value | Manpower_Available Manpower value | Manpower_Total Population value | cluster | cluster_1 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2 | Algeria | 0.4659 | 551 | 103 | 22 | 59 | 87 | 257 | 45 | 880 | 7361 | 320 | 240 | 316 | 201.0 | 0.0 | 6.0 | 0.0 | 5.0 | 1.300000e+10 | 6.260000e+09 | 157 | 1306000.0 | 325000.0 | 1.220000e+10 | 20741263.0 | 41657488.0 | 0 | 1 |
| 6 | Australia | 0.3225 | 464 | 82 | 6 | 38 | 174 | 133 | 22 | 59 | 3051 | 0 | 54 | 0 | 48.0 | 2.0 | 6.0 | 2.0 | 8.0 | 2.630000e+10 | 1.714000e+12 | 480 | 263000.0 | 1005000.0 | 1.821000e+09 | 10808002.0 | 23470145.0 | 0 | 1 |
| 10 | Bangladesh | 0.7066 | 177 | 44 | 0 | 11 | 57 | 67 | 0 | 276 | 1230 | 18 | 419 | 72 | 112.0 | 0.0 | 2.0 | 0.0 | 8.0 | 3.800000e+09 | 5.026000e+10 | 18 | 3666.0 | 112000.0 | 2.800000e+07 | 78913289.0 | 159453001.0 | 0 | 1 |
| 11 | Belarus | 0.8179 | 202 | 39 | 68 | 4 | 28 | 63 | 21 | 532 | 1560 | 482 | 228 | 238 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 6.237028e+08 | 3.992000e+10 | 65 | 32000.0 | 190000.0 | 1.980000e+08 | 4982905.0 | 9527543.0 | 0 | 1 |
| 17 | Brazil | 0.1988 | 715 | 43 | 78 | 126 | 198 | 242 | 12 | 437 | 1820 | 132 | 565 | 84 | 112.0 | 0.0 | 6.0 | 0.0 | 7.0 | 2.780000e+10 | 5.474000e+11 | 4093 | 2622000.0 | 3020000.0 | 1.300000e+10 | 107764996.0 | 208846892.0 | 0 | 1 |
| 18 | Bulgaria | 0.8916 | 63 | 13 | 4 | 5 | 20 | 25 | 2 | 710 | 2000 | 506 | 350 | 192 | 29.0 | 0.0 | 0.0 | 0.0 | 4.0 | 1.079000e+09 | 4.206000e+10 | 68 | 1000.0 | 115000.0 | 1.500000e+07 | 3278916.0 | 7057504.0 | 0 | 1 |
| 22 | Canada | 0.3712 | 385 | 62 | 0 | 38 | 135 | 145 | 0 | 80 | 1973 | 0 | 133 | 0 | 64.0 | 0.0 | 4.0 | 0.0 | 12.0 | 2.250000e+10 | 1.608000e+12 | 1467 | 3977000.0 | 2500000.0 | 1.697000e+11 | 16110865.0 | 35881659.0 | 0 | 1 |
| 25 | Chile | 0.7668 | 282 | 44 | 0 | 30 | 93 | 92 | 0 | 300 | 1430 | 48 | 158 | 10 | 69.0 | 0.0 | 4.0 | 0.0 | 10.0 | 4.250000e+09 | 1.834000e+11 | 481 | 3244.0 | 325000.0 | 1.500000e+08 | 8657902.0 | 17925262.0 | 0 | 1 |
| 27 | Colombia | 0.6045 | 469 | 21 | 38 | 76 | 80 | 224 | 0 | 0 | 595 | 6 | 110 | 0 | 453.0 | 0.0 | 11.0 | 0.0 | 4.0 | 1.060000e+10 | 1.246000e+11 | 836 | 853600.0 | 300000.0 | 2.002000e+09 | 24084498.0 | 48168996.0 | 0 | 1 |
| 32 | Denmark | 0.7878 | 113 | 33 | 0 | 4 | 38 | 35 | 0 | 57 | 972 | 22 | 0 | 0 | 74.0 | 0.0 | 0.0 | 0.0 | 9.0 | 4.760000e+09 | 4.848000e+11 | 80 | 137100.0 | 162000.0 | 4.906000e+08 | 2590457.0 | 5809502.0 | 0 | 1 |
| 35 | Egypt | 0.1872 | 1054 | 215 | 88 | 59 | 387 | 294 | 81 | 4295 | 11700 | 1139 | 2189 | 1084 | 316.0 | 2.0 | 8.0 | 0.0 | 7.0 | 1.120000e+10 | 7.747000e+10 | 83 | 589400.0 | 832000.0 | 4.400000e+09 | 42946553.0 | 99413317.0 | 0 | 1 |
| 39 | Finland | 0.8498 | 194 | 55 | 0 | 11 | 105 | 127 | 0 | 200 | 2050 | 100 | 627 | 75 | 246.0 | 0.0 | 0.0 | 0.0 | 0.0 | 3.570000e+09 | 1.506000e+11 | 148 | 0.0 | 205000.0 | 0.000000e+00 | 2307420.0 | 5537364.0 | 0 | 1 |
| 40 | France | 0.1702 | 1229 | 269 | 0 | 121 | 187 | 589 | 62 | 528 | 6028 | 109 | 12 | 13 | 180.0 | 4.0 | 9.0 | 11.0 | 11.0 | 4.150000e+10 | 5.360000e+12 | 464 | 15170.0 | 1600000.0 | 7.235000e+07 | 30111868.0 | 67364357.0 | 0 | 1 |
| 43 | Germany | 0.2186 | 712 | 128 | 74 | 71 | 26 | 386 | 56 | 245 | 4583 | 108 | 0 | 38 | 80.0 | 0.0 | 6.0 | 0.0 | 9.0 | 5.000000e+10 | 5.326000e+12 | 539 | 43410.0 | 2500000.0 | 1.454000e+08 | 37010559.0 | 80457737.0 | 0 | 1 |
| 45 | Greece | 0.5311 | 566 | 187 | 0 | 15 | 143 | 231 | 29 | 1355 | 3691 | 547 | 463 | 152 | 116.0 | 0.0 | 11.0 | 0.0 | 13.0 | 4.844000e+09 | 5.066000e+11 | 77 | 2753.0 | 350000.0 | 1.000000e+07 | 4993347.0 | 10761523.0 | 0 | 1 |
| 50 | Indonesia | 0.2544 | 462 | 41 | 39 | 54 | 109 | 177 | 16 | 313 | 1178 | 153 | 366 | 36 | 282.0 | 0.0 | 5.0 | 0.0 | 7.0 | 7.600000e+09 | 3.444000e+11 | 673 | 801700.0 | 1630000.0 | 3.230000e+09 | 130868127.0 | 262787403.0 | 0 | 1 |
| 51 | Iran | 0.2191 | 509 | 155 | 23 | 62 | 94 | 100 | 12 | 2056 | 4300 | 570 | 2088 | 1935 | 398.0 | 0.0 | 34.0 | 0.0 | 7.0 | 1.960000e+10 | 7.995000e+09 | 319 | 4469000.0 | 2000000.0 | 1.584000e+11 | 47324105.0 | 83024745.0 | 0 | 1 |
| 52 | Iraq | 0.7911 | 348 | 26 | 33 | 16 | 102 | 186 | 40 | 309 | 4739 | 44 | 120 | 30 | 60.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1.730000e+09 | 7.302000e+10 | 102 | 4454000.0 | 825000.0 | 1.425000e+11 | 16399240.0 | 40194216.0 | 0 | 1 |
| 54 | Israel | 0.3111 | 589 | 259 | 18 | 15 | 154 | 146 | 48 | 2760 | 10275 | 650 | 300 | 100 | 65.0 | 0.0 | 5.0 | 0.0 | 0.0 | 2.000000e+10 | 8.866000e+10 | 47 | 390.0 | 250000.0 | 1.273000e+07 | 3647983.0 | 8424904.0 | 0 | 1 |
| 55 | Italy | 0.2111 | 860 | 99 | 110 | 38 | 185 | 439 | 59 | 200 | 6947 | 54 | 108 | 21 | 249.0 | 2.0 | 8.0 | 4.0 | 12.0 | 2.780000e+10 | 2.444000e+12 | 129 | 77530.0 | 1300000.0 | 5.567000e+08 | 28011003.0 | 62246674.0 | 0 | 1 |
| 57 | Japan | 0.1501 | 1561 | 279 | 12 | 60 | 427 | 637 | 119 | 1004 | 3130 | 238 | 500 | 99 | 155.0 | 4.0 | 20.0 | 40.0 | 0.0 | 4.900000e+10 | 3.240000e+12 | 175 | 3841.0 | 4000000.0 | 4.412000e+07 | 53873803.0 | 126168156.0 | 0 | 1 |
| 58 | Jordan | 1.1441 | 278 | 44 | 4 | 16 | 75 | 146 | 47 | 1313 | 2897 | 461 | 72 | 88 | 37.0 | 0.0 | 0.0 | 0.0 | 0.0 | 2.600000e+09 | 2.934000e+10 | 18 | 22.0 | 110000.0 | 1.000000e+06 | 3346692.0 | 10458413.0 | 0 | 1 |
| 61 | Kuwait | 1.5701 | 85 | 27 | 0 | 2 | 13 | 40 | 16 | 367 | 745 | 98 | 0 | 27 | 38.0 | 0.0 | 0.0 | 0.0 | 0.0 | 6.831000e+09 | 4.724000e+10 | 7 | 2753000.0 | 345000.0 | 1.015000e+11 | 1641971.0 | 2916467.0 | 0 | 1 |
| 70 | Malaysia | 0.6546 | 170 | 26 | 13 | 18 | 40 | 65 | 0 | 74 | 1387 | 0 | 211 | 54 | 61.0 | 0.0 | 2.0 | 0.0 | 6.0 | 4.000000e+09 | 2.172000e+11 | 114 | 647900.0 | 835000.0 | 3.600000e+09 | 15201837.0 | 31809660.0 | 0 | 1 |
| 73 | Mexico | 0.6065 | 484 | 3 | 33 | 43 | 206 | 202 | 0 | 0 | 2199 | 0 | 265 | 0 | 189.0 | 0.0 | 0.0 | 0.0 | 4.0 | 7.000000e+09 | 4.458000e+11 | 1714 | 1981000.0 | 2000000.0 | 7.640000e+09 | 60460418.0 | 125959205.0 | 0 | 1 |
| 77 | Morocco | 0.8408 | 214 | 46 | 0 | 31 | 67 | 64 | 0 | 1443 | 2901 | 505 | 200 | 144 | 121.0 | 0.0 | 0.0 | 0.0 | 3.0 | 1.000000e+10 | 5.148000e+10 | 55 | 160.0 | 206000.0 | 6.840000e+05 | 17157065.0 | 34314130.0 | 0 | 1 |
| 79 | Myanmar | 0.5691 | 276 | 59 | 21 | 27 | 82 | 86 | 9 | 434 | 1300 | 108 | 1612 | 84 | 187.0 | 0.0 | 1.0 | 0.0 | 5.0 | 2.650000e+09 | 6.594000e+09 | 64 | 12000.0 | 42600.0 | 1.390000e+08 | 30258643.0 | 55622506.0 | 0 | 1 |
| 82 | Netherlands | 0.5919 | 168 | 61 | 1 | 4 | 27 | 75 | 28 | 18 | 1546 | 57 | 160 | 0 | 63.0 | 0.0 | 4.0 | 0.0 | 6.0 | 1.241900e+10 | 4.063000e+12 | 29 | 18170.0 | 840000.0 | 1.132000e+08 | 7820960.0 | 17151228.0 | 0 | 1 |
| 87 | North Korea | 0.3718 | 949 | 458 | 114 | 4 | 169 | 204 | 20 | 6045 | 10000 | 800 | 1000 | 2110 | 984.0 | 0.0 | 83.0 | 0.0 | 11.0 | 1.600000e+09 | 5.000000e+09 | 82 | 0.0 | 15500.0 | 0.000000e+00 | 13045878.0 | 25381085.0 | 0 | 1 |
| 91 | Pakistan | 0.2364 | 1372 | 356 | 90 | 49 | 513 | 346 | 56 | 2200 | 7330 | 429 | 1226 | 100 | 100.0 | 0.0 | 8.0 | 0.0 | 9.0 | 1.140000e+10 | 8.219000e+10 | 151 | 89720.0 | 575000.0 | 3.506000e+08 | 96344277.0 | 207862518.0 | 0 | 1 |
| 94 | Peru | 0.6219 | 273 | 17 | 38 | 40 | 77 | 99 | 16 | 146 | 552 | 24 | 231 | 70 | 60.0 | 0.0 | 5.0 | 0.0 | 7.0 | 2.560000e+09 | 6.625000e+10 | 191 | 43520.0 | 210000.0 | 4.730000e+08 | 15352302.0 | 31331228.0 | 0 | 1 |
| 96 | Poland | 0.3397 | 457 | 91 | 0 | 49 | 104 | 176 | 30 | 1069 | 2547 | 547 | 0 | 180 | 87.0 | 0.0 | 3.0 | 0.0 | 2.0 | 1.200000e+10 | 2.410000e+11 | 126 | 20070.0 | 585000.0 | 1.378000e+08 | 18826137.0 | 38420687.0 | 0 | 1 |
| 97 | Portugal | 0.8612 | 90 | 24 | 0 | 11 | 18 | 23 | 0 | 133 | 756 | 18 | 61 | 0 | 41.0 | 0.0 | 2.0 | 0.0 | 5.0 | 3.358000e+09 | 4.490000e+11 | 64 | 0.0 | 265000.0 | 0.000000e+00 | 4804949.0 | 10355493.0 | 0 | 1 |
| 100 | Romania | 0.6177 | 143 | 26 | 0 | 12 | 41 | 62 | 0 | 943 | 1369 | 0 | 808 | 243 | 48.0 | 0.0 | 0.0 | 0.0 | 3.0 | 5.050000e+09 | 9.597000e+10 | 45 | 73740.0 | 240000.0 | 6.000000e+08 | 11007501.0 | 21457116.0 | 0 | 1 |
| 102 | Saudi Arabia | 0.3034 | 879 | 270 | 81 | 49 | 208 | 283 | 34 | 1062 | 12825 | 705 | 1818 | 122 | 55.0 | 0.0 | 0.0 | 0.0 | 3.0 | 6.760000e+10 | 2.051000e+11 | 214 | 10130000.0 | 4000000.0 | 2.665000e+11 | 17703745.0 | 33091113.0 | 0 | 1 |
| 105 | Singapore | 0.7966 | 235 | 100 | 0 | 9 | 36 | 77 | 17 | 180 | 3000 | 48 | 77 | 24 | 40.0 | 0.0 | 0.0 | 0.0 | 6.0 | 1.120000e+10 | 5.661000e+11 | 9 | 0.0 | 1340000.0 | 0.000000e+00 | 4017314.0 | 5995991.0 | 0 | 1 |
| 109 | South Africa | 0.4985 | 226 | 17 | 0 | 23 | 88 | 91 | 12 | 195 | 2000 | 43 | 72 | 50 | 30.0 | 0.0 | 3.0 | 0.0 | 4.0 | 4.278000e+09 | 1.563000e+11 | 566 | 2000.0 | 605000.0 | 1.500000e+07 | 26250220.0 | 55380210.0 | 0 | 1 |
| 110 | South Korea | 0.1509 | 1649 | 414 | 71 | 41 | 298 | 803 | 112 | 2614 | 14000 | 3040 | 3854 | 575 | 234.0 | 0.0 | 19.0 | 12.0 | 12.0 | 4.400000e+10 | 3.846000e+11 | 111 | 0.0 | 2800000.0 | 0.000000e+00 | 25709049.0 | 51418097.0 | 0 | 1 |
| 112 | Spain | 0.3388 | 512 | 137 | 12 | 46 | 162 | 162 | 19 | 327 | 2023 | 95 | 140 | 0 | 77.0 | 1.0 | 3.0 | 0.0 | 11.0 | 1.510000e+10 | 2.094000e+12 | 150 | 2252.0 | 1226000.0 | 1.500000e+08 | 23136275.0 | 49331076.0 | 0 | 1 |
| 118 | Syria | 0.8241 | 456 | 199 | 20 | 5 | 67 | 165 | 27 | 4135 | 5370 | 575 | 2550 | 750 | 56.0 | 0.0 | 0.0 | 0.0 | 2.0 | 1.800000e+09 | 4.989000e+09 | 90 | 14000.0 | 260000.0 | 2.500000e+09 | 12450728.0 | 19454263.0 | 0 | 1 |
| 119 | Taiwan | 0.4008 | 744 | 289 | 0 | 19 | 207 | 210 | 91 | 1180 | 2000 | 482 | 1160 | 115 | 117.0 | 0.0 | 4.0 | 4.0 | 22.0 | 1.072500e+10 | 1.819000e+11 | 37 | 196.0 | 1032000.0 | 2.380000e+06 | 12196809.0 | 23545963.0 | 0 | 1 |
| 122 | Thailand | 0.3571 | 570 | 75 | 19 | 48 | 154 | 307 | 7 | 841 | 1416 | 20 | 776 | 25 | 292.0 | 1.0 | 0.0 | 0.0 | 7.0 | 7.100000e+09 | 1.320000e+11 | 101 | 239700.0 | 1345000.0 | 3.964000e+08 | 35543014.0 | 68615858.0 | 0 | 1 |
| 124 | Turkey | 0.2098 | 1055 | 206 | 0 | 80 | 276 | 497 | 100 | 2622 | 8777 | 1278 | 1260 | 438 | 149.0 | 0.0 | 12.0 | 0.0 | 16.0 | 1.900000e+10 | 4.524000e+11 | 98 | 245000.0 | 845000.0 | 3.885000e+08 | 41847478.0 | 81257239.0 | 0 | 1 |
| 127 | Ukraine | 0.4457 | 297 | 48 | 25 | 32 | 76 | 121 | 34 | 2026 | 10135 | 738 | 2040 | 430 | 25.0 | 0.0 | 0.0 | 0.0 | 1.0 | 5.400000e+09 | 1.300000e+11 | 187 | 29650.0 | 325000.0 | 3.950000e+08 | 22195911.0 | 43952299.0 | 0 | 1 |
| 128 | United Arab Emirates | 0.7034 | 538 | 98 | 20 | 40 | 145 | 229 | 30 | 434 | 8691 | 183 | 76 | 72 | 75.0 | 0.0 | 0.0 | 0.0 | 0.0 | 2.275500e+10 | 2.376000e+11 | 43 | 3174000.0 | 575000.0 | 9.780000e+10 | 5820789.0 | 9701315.0 | 0 | 1 |
| 129 | United Kingdom | 0.1717 | 733 | 133 | 15 | 44 | 241 | 312 | 49 | 227 | 5000 | 89 | 126 | 35 | 88.0 | 2.0 | 10.0 | 6.0 | 13.0 | 5.510000e+10 | 8.126000e+12 | 460 | 910500.0 | 1600000.0 | 2.564000e+09 | 29948413.0 | 65105246.0 | 0 | 1 |
| 133 | Venezuela | 0.6449 | 260 | 38 | 0 | 52 | 82 | 86 | 10 | 390 | 600 | 73 | 104 | 36 | 49.0 | 0.0 | 2.0 | 0.0 | 4.0 | 7.450000e+08 | 1.003000e+11 | 444 | 2007000.0 | 575000.0 | 3.009000e+11 | 14260129.0 | 31689176.0 | 0 | 1 |
| 134 | Vietnam | 0.3559 | 293 | 77 | 0 | 38 | 36 | 138 | 25 | 2615 | 2530 | 70 | 1000 | 85 | 65.0 | 0.0 | 6.0 | 0.0 | 9.0 | 5.500000e+09 | 9.658000e+10 | 45 | 271400.0 | 525000.0 | 4.400000e+09 | 51043216.0 | 97040334.0 | 0 | 1 |
df[df["cluster_1"] == 2]
| country | Military Strength Power Index | Airforce Strength_Aircraft Strength value | Airforce Strength_Fighter/Interceptor Strength value | Airforce Strength_Attack Aircraft Strength value | Airforce Strength_Transport Aircraft Fleet Strength value | Airforce Strength_Trainer Aircraft Fleet value | Airforce Strength_Helicopter Fleet Strength value | Airforce Strength_Attack Helicopter Fleet Strength value | Land Strength_Tank Strength value | Land Strength_AFV/APC Strength value | Land Strength_Self-Propelled Artillery Strength value | Land Strength_Towed Artillery Strength value | Land Strength_Rocket Projector Strength value | Navy Strength_Navy Fleet Strengths value | Navy Strength_Aircraft Carrier Fleet Strength value | Navy Strength_Submarine Fleet Strength value | Navy Strength_Destroyer Fleet Strength value | Navy Strength_Frigate Fleet Strength value | Finances_defense spending budget value | Finances_External Debt value | Logistics_Airport Totals value | Natural resources_Oil Production value | Natural resources_Oil Consumption value | Natural resources_Proven Oil Reserves value | Manpower_Available Manpower value | Manpower_Total Population value | cluster | cluster_1 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 130 | United States | 0.0606 | 13264 | 2085 | 715 | 945 | 2643 | 5768 | 967 | 6289 | 39253 | 1465 | 2740 | 1366 | 490.0 | 20.0 | 66.0 | 91.0 | 0.0 | 7.500000e+11 | 1.791000e+13 | 13513 | 9352000.0 | 20000000.0 | 3.652000e+10 | 144872845.0 | 329256465.0 | 1 | 2 |
df[df["cluster_1"] == 3]
| country | Military Strength Power Index | Airforce Strength_Aircraft Strength value | Airforce Strength_Fighter/Interceptor Strength value | Airforce Strength_Attack Aircraft Strength value | Airforce Strength_Transport Aircraft Fleet Strength value | Airforce Strength_Trainer Aircraft Fleet value | Airforce Strength_Helicopter Fleet Strength value | Airforce Strength_Attack Helicopter Fleet Strength value | Land Strength_Tank Strength value | Land Strength_AFV/APC Strength value | Land Strength_Self-Propelled Artillery Strength value | Land Strength_Towed Artillery Strength value | Land Strength_Rocket Projector Strength value | Navy Strength_Navy Fleet Strengths value | Navy Strength_Aircraft Carrier Fleet Strength value | Navy Strength_Submarine Fleet Strength value | Navy Strength_Destroyer Fleet Strength value | Navy Strength_Frigate Fleet Strength value | Finances_defense spending budget value | Finances_External Debt value | Logistics_Airport Totals value | Natural resources_Oil Production value | Natural resources_Oil Consumption value | Natural resources_Proven Oil Reserves value | Manpower_Available Manpower value | Manpower_Total Population value | cluster | cluster_1 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | Afghanistan | 1.3444 | 260 | 0 | 25 | 30 | 0 | 187 | 0 | 0 | 1062 | 0 | 176 | 50 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1.200000e+10 | 2.840000e+09 | 43 | 0.0 | 5500.0 | 0.000000e+00 | 14325743.0 | 34940837.0 | 0 | 3 |
| 1 | Albania | 2.3137 | 19 | 0 | 0 | 0 | 0 | 19 | 0 | 0 | 467 | 0 | 0 | 0 | 38.0 | 0.0 | 0.0 | 0.0 | 0.0 | 2.500000e+08 | 9.505000e+09 | 4 | 16000.0 | 42500.0 | 1.683000e+08 | 1519438.0 | 3057220.0 | 0 | 3 |
| 3 | Angola | 0.8379 | 295 | 72 | 18 | 30 | 47 | 126 | 15 | 379 | 595 | 28 | 357 | 115 | 57.0 | 0.0 | 0.0 | 0.0 | 0.0 | 7.000000e+09 | 4.208000e+10 | 176 | 1666000.0 | 82300.0 | 8.273000e+09 | 6244205.0 | 30355880.0 | 0 | 3 |
| 4 | Argentina | 0.6521 | 227 | 24 | 7 | 9 | 64 | 100 | 0 | 370 | 739 | 83 | 172 | 26 | 49.0 | 0.0 | 2.0 | 4.0 | 0.0 | 4.200000e+09 | 2.149000e+11 | 1138 | 479400.0 | 685000.0 | 2.185000e+09 | 20179430.0 | 44694198.0 | 0 | 3 |
| 5 | Armenia | 2.1251 | 64 | 0 | 9 | 3 | 13 | 37 | 20 | 110 | 748 | 38 | 150 | 68 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1.385000e+09 | 1.041000e+10 | 11 | 0.0 | 47500.0 | 0.000000e+00 | 1696085.0 | 3038217.0 | 0 | 3 |
| 7 | Austria | 0.9568 | 120 | 15 | 0 | 11 | 32 | 62 | 0 | 56 | 467 | 33 | 0 | 0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 3.380000e+09 | 6.308000e+11 | 52 | 14260.0 | 215000.0 | 4.300000e+07 | 4017691.0 | 8793370.0 | 0 | 3 |
| 8 | Azerbaijan | 0.9463 | 147 | 17 | 12 | 1 | 29 | 88 | 17 | 570 | 1451 | 187 | 227 | 162 | 31.0 | 0.0 | 4.0 | 0.0 | 1.0 | 2.805000e+09 | 1.741000e+10 | 37 | 789300.0 | 180000.0 | 7.000000e+09 | 5042346.0 | 10046516.0 | 0 | 3 |
| 9 | Bahrain | 1.8547 | 109 | 17 | 0 | 2 | 37 | 65 | 22 | 180 | 843 | 33 | 26 | 17 | 39.0 | 0.0 | 0.0 | 0.0 | 1.0 | 1.415000e+09 | 5.215000e+10 | 4 | 45000.0 | 55000.0 | 1.246000e+08 | 806505.0 | 1422659.0 | 0 | 3 |
| 12 | Belgium | 1.0499 | 148 | 43 | 0 | 12 | 64 | 29 | 0 | 0 | 984 | 0 | 0 | 0 | 17.0 | 0.0 | 0.0 | 0.0 | 2.0 | 4.921000e+09 | 1.281000e+12 | 41 | 0.0 | 645000.0 | 0.000000e+00 | 4833107.0 | 11570762.0 | 0 | 3 |
| 13 | Bhutan | 10.1681 | 2 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 27 | 0 | 0 | 0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 2.512000e+07 | 2.671000e+09 | 2 | 0.0 | 2000.0 | 0.000000e+00 | 176808.0 | 766397.0 | 0 | 3 |
| 14 | Bolivia | 0.9942 | 69 | 0 | 0 | 14 | 23 | 38 | 0 | 54 | 137 | 0 | 86 | 0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 6.600000e+08 | 1.281000e+10 | 855 | 59330.0 | 60000.0 | 2.115000e+08 | 5075416.0 | 11306341.0 | 0 | 3 |
| 15 | Bosnia and Herzegovina | 3.8586 | 19 | 0 | 0 | 0 | 0 | 19 | 0 | 320 | 332 | 24 | 837 | 143 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1.650000e+08 | 1.087000e+10 | 24 | 0.0 | 32500.0 | 0.000000e+00 | 2394632.0 | 3849891.0 | 0 | 3 |
| 16 | Botswana | 2.0582 | 45 | 10 | 0 | 11 | 8 | 16 | 0 | 55 | 245 | 0 | 30 | 20 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 4.500000e+08 | 2.187000e+09 | 74 | 0.0 | 16500.0 | 0.000000e+00 | 962617.0 | 2249104.0 | 0 | 3 |
| 19 | Burkina Faso | 1.9009 | 16 | 0 | 3 | 1 | 4 | 8 | 2 | 0 | 350 | 0 | 0 | 0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1.300000e+08 | 3.056000e+09 | 23 | 0.0 | 10500.0 | 0.000000e+00 | 7800000.0 | 19742715.0 | 0 | 3 |
| 20 | Cambodia | 2.0557 | 22 | 0 | 0 | 5 | 0 | 17 | 0 | 263 | 340 | 0 | 150 | 570 | 27.0 | 0.0 | 0.0 | 0.0 | 0.0 | 6.040000e+08 | 1.187000e+10 | 16 | 0.0 | 42500.0 | 0.000000e+00 | 8120963.0 | 16449519.0 | 0 | 3 |
| 21 | Cameroon | 1.9902 | 29 | 0 | 0 | 6 | 6 | 15 | 0 | 0 | 222 | 8 | 61 | 20 | 64.0 | 0.0 | 0.0 | 0.0 | 0.0 | 3.470000e+08 | 9.375000e+09 | 33 | 75720.0 | 32500.0 | 2.000000e+08 | 9487157.0 | 25640965.0 | 0 | 3 |
| 23 | Central African Republic | 3.2889 | 3 | 0 | 0 | 2 | 0 | 1 | 0 | 4 | 55 | 0 | 20 | 0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 2.000000e+07 | 7.799000e+08 | 39 | 0.0 | 4500.0 | 0.000000e+00 | 2348581.0 | 5745062.0 | 0 | 3 |
| 24 | Chad | 1.6383 | 35 | 0 | 6 | 6 | 4 | 17 | 3 | 60 | 372 | 10 | 51 | 10 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 2.000000e+08 | 1.724000e+09 | 59 | 128000.0 | 100000.0 | 1.500000e+09 | 6030834.0 | 15833116.0 | 0 | 3 |
| 28 | Croatia | 1.0183 | 78 | 12 | 0 | 0 | 27 | 47 | 0 | 72 | 604 | 24 | 151 | 105 | 28.0 | 0.0 | 0.0 | 0.0 | 0.0 | 8.000000e+08 | 4.810000e+10 | 69 | 14000.0 | 82000.0 | 7.100000e+07 | 2088265.0 | 4270480.0 | 0 | 3 |
| 29 | Cuba | 1.2208 | 80 | 38 | 0 | 2 | 26 | 14 | 4 | 1180 | 670 | 100 | 150 | 100 | 12.0 | 0.0 | 0.0 | 0.0 | 2.0 | 5.000000e+08 | 3.006000e+10 | 133 | 50000.0 | 152000.0 | 1.240000e+08 | 5980621.0 | 11116396.0 | 0 | 3 |
| 30 | Czechia | 0.5531 | 95 | 12 | 16 | 8 | 15 | 44 | 15 | 116 | 682 | 86 | 85 | 0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 2.969000e+09 | 2.052000e+11 | 128 | 2000.0 | 200000.0 | 1.500000e+07 | 5011174.0 | 10686269.0 | 0 | 3 |
| 31 | Democratic Republic of the Congo | 1.1389 | 53 | 2 | 4 | 13 | 0 | 34 | 8 | 175 | 100 | 16 | 120 | 57 | 20.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1.000000e+08 | 4.963000e+09 | 198 | 19160.0 | 10500.0 | 1.800000e+08 | 34112410.0 | 85281024.0 | 0 | 3 |
| 33 | Dominican Republic | 2.7504 | 49 | 0 | 8 | 10 | 4 | 28 | 0 | 6 | 20 | 0 | 20 | 0 | 33.0 | 0.0 | 0.0 | 0.0 | 0.0 | 7.600000e+08 | 2.916000e+10 | 36 | 0.0 | 125000.0 | 0.000000e+00 | 4819818.0 | 10298756.0 | 0 | 3 |
| 34 | Ecuador | 1.0062 | 108 | 9 | 0 | 22 | 29 | 50 | 0 | 232 | 413 | 15 | 102 | 26 | 19.0 | 0.0 | 2.0 | 0.0 | 2.0 | 2.500000e+09 | 3.929000e+10 | 432 | 531300.0 | 282000.0 | 8.273000e+09 | 7696551.0 | 16498502.0 | 0 | 3 |
| 36 | El Salvador | 3.1291 | 51 | 0 | 15 | 2 | 3 | 31 | 0 | 0 | 125 | 0 | 70 | 0 | 4.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1.670000e+08 | 1.551000e+10 | 68 | 0.0 | 45600.0 | 0.000000e+00 | 3106010.0 | 6187271.0 | 0 | 3 |
| 37 | Estonia | 2.5893 | 7 | 0 | 0 | 2 | 5 | 4 | 0 | 0 | 181 | 18 | 66 | 0 | 6.0 | 0.0 | 0.0 | 0.0 | 0.0 | 6.850000e+08 | 1.905000e+10 | 18 | 0.0 | 27500.0 | 0.000000e+00 | 596014.0 | 1244288.0 | 0 | 3 |
| 38 | Ethiopia | 0.8581 | 86 | 24 | 0 | 9 | 20 | 33 | 8 | 400 | 114 | 67 | 650 | 183 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 3.500000e+08 | 2.605000e+10 | 57 | 0.0 | 55000.0 | 4.280000e+05 | 41143474.0 | 108386391.0 | 0 | 3 |
| 41 | Gabon | 3.3736 | 23 | 6 | 0 | 2 | 0 | 15 | 0 | 0 | 70 | 0 | 16 | 0 | 10.0 | 0.0 | 0.0 | 0.0 | 0.0 | 8.300000e+07 | 6.490000e+09 | 44 | 198800.0 | 16500.0 | 2.000000e+09 | 842741.0 | 2119036.0 | 0 | 3 |
| 42 | Georgia | 1.6679 | 66 | 0 | 10 | 2 | 12 | 38 | 9 | 143 | 950 | 69 | 133 | 51 | 9.0 | 0.0 | 0.0 | 0.0 | 0.0 | 3.270000e+08 | 1.699000e+10 | 22 | 400.0 | 18500.0 | 3.500000e+07 | 2249744.0 | 4926087.0 | 0 | 3 |
| 44 | Ghana | 2.0554 | 24 | 0 | 0 | 3 | 6 | 13 | 0 | 0 | 150 | 0 | 0 | 0 | 20.0 | 0.0 | 0.0 | 0.0 | 0.0 | 7.100000e+08 | 2.214000e+10 | 10 | 151000.0 | 65000.0 | 6.600000e+08 | 12561805.0 | 28102471.0 | 0 | 3 |
| 46 | Guatemala | 1.8302 | 33 | 0 | 4 | 8 | 6 | 15 | 0 | 12 | 135 | 0 | 106 | 0 | 26.0 | 0.0 | 0.0 | 0.0 | 0.0 | 2.400000e+08 | 2.292000e+10 | 291 | 9666.0 | 85000.0 | 8.307000e+07 | 7063622.0 | 16581273.0 | 0 | 3 |
| 47 | Honduras | 2.0943 | 46 | 3 | 9 | 11 | 10 | 12 | 0 | 19 | 92 | 0 | 176 | 0 | 59.0 | 0.0 | 0.0 | 0.0 | 0.0 | 2.050000e+08 | 8.625000e+09 | 103 | 0.0 | 60000.0 | 0.000000e+00 | 4104696.0 | 9182766.0 | 0 | 3 |
| 48 | Hungary | 0.8215 | 47 | 12 | 0 | 5 | 6 | 24 | 8 | 30 | 944 | 0 | 300 | 0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 2.080000e+09 | 1.381000e+11 | 41 | 14000.0 | 145000.0 | 2.510000e+07 | 4618081.0 | 9825704.0 | 0 | 3 |
| 53 | Ireland | 1.9481 | 19 | 0 | 0 | 0 | 8 | 8 | 0 | 0 | 124 | 0 | 0 | 0 | 8.0 | 0.0 | 0.0 | 0.0 | 0.0 | 8.700000e+08 | 2.470000e+12 | 40 | 0.0 | 145000.0 | 0.000000e+00 | 2366779.0 | 5068050.0 | 0 | 3 |
| 56 | Ivory Coast | 2.0236 | 8 | 0 | 0 | 4 | 0 | 4 | 3 | 15 | 109 | 0 | 7 | 6 | 10.0 | 0.0 | 0.0 | 0.0 | 0.0 | 5.500000e+08 | 1.307000e+10 | 27 | 54000.0 | 25600.0 | 1.000000e+08 | 11160747.0 | 26260582.0 | 0 | 3 |
| 59 | Kazakhstan | 0.9098 | 222 | 76 | 39 | 18 | 18 | 71 | 18 | 650 | 800 | 0 | 300 | 100 | 15.0 | 0.0 | 0.0 | 0.0 | 0.0 | 4.000000e+09 | 1.675000e+11 | 96 | 1777000.0 | 245000.0 | 3.000000e+10 | 8585003.0 | 18744548.0 | 0 | 3 |
| 60 | Kenya | 1.5287 | 150 | 17 | 0 | 20 | 32 | 79 | 0 | 76 | 479 | 30 | 25 | 0 | 19.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1.210000e+08 | 2.759000e+10 | 197 | 0.0 | 82000.0 | 0.000000e+00 | 19600998.0 | 48397527.0 | 0 | 3 |
| 62 | Kyrgyzstan | 1.9244 | 5 | 0 | 0 | 0 | 0 | 5 | 2 | 150 | 385 | 30 | 141 | 21 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 2.000000e+07 | 8.164000e+09 | 28 | 1000.0 | 17200.0 | 4.000000e+07 | 3029935.0 | 5849296.0 | 0 | 3 |
| 63 | Laos | 3.4433 | 33 | 0 | 0 | 2 | 4 | 27 | 0 | 65 | 30 | 0 | 62 | 0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1.850000e+07 | 1.490000e+10 | 41 | 0.0 | 4500.0 | 0.000000e+00 | 3248143.0 | 7234171.0 | 0 | 3 |
| 64 | Latvia | 2.0145 | 5 | 0 | 0 | 0 | 12 | 5 | 0 | 0 | 303 | 47 | 20 | 0 | 18.0 | 0.0 | 0.0 | 0.0 | 0.0 | 7.240000e+08 | 4.002000e+10 | 42 | 0.0 | 32500.0 | 0.000000e+00 | 840595.0 | 1923559.0 | 0 | 3 |
| 65 | Lebanon | 2.5193 | 70 | 0 | 9 | 0 | 0 | 55 | 0 | 366 | 2228 | 12 | 374 | 30 | 57.0 | 0.0 | 0.0 | 0.0 | 0.0 | 2.500000e+09 | 3.930000e+10 | 8 | 0.0 | 110000.0 | 0.000000e+00 | 2135026.0 | 6100075.0 | 0 | 3 |
| 66 | Liberia | 5.5737 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1.300000e+07 | 1.036000e+09 | 29 | 0.0 | 4500.0 | 0.000000e+00 | 2226923.0 | 4809768.0 | 0 | 3 |
| 67 | Libya | 1.3696 | 114 | 17 | 2 | 4 | 62 | 26 | 7 | 250 | 450 | 50 | 100 | 55 | 5.0 | 0.0 | 0.0 | 0.0 | 1.0 | 3.000000e+09 | 3.020000e+09 | 146 | 897100.0 | 315000.0 | 4.836000e+10 | 3552871.0 | 6754507.0 | 0 | 3 |
| 68 | Lithuania | 1.4752 | 10 | 0 | 0 | 5 | 0 | 5 | 0 | 0 | 420 | 56 | 54 | 0 | 12.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1.107000e+09 | 3.448000e+10 | 61 | 2000.0 | 72400.0 | 1.200000e+07 | 1779322.0 | 2793284.0 | 0 | 3 |
| 69 | Madagascar | 3.0869 | 6 | 0 | 0 | 0 | 0 | 6 | 0 | 12 | 103 | 0 | 25 | 0 | 8.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1.150000e+08 | 4.089000e+09 | 83 | 0.0 | 18500.0 | 0.000000e+00 | 10145026.0 | 25683610.0 | 0 | 3 |
| 71 | Mali | 1.8941 | 29 | 9 | 0 | 6 | 5 | 8 | 6 | 80 | 248 | 0 | 50 | 32 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 7.000000e+07 | 4.192000e+09 | 25 | 0.0 | 5500.0 | 0.000000e+00 | 5991557.0 | 18429893.0 | 0 | 3 |
| 72 | Mauritania | 3.0477 | 28 | 0 | 2 | 6 | 9 | 4 | 0 | 35 | 95 | 0 | 224 | 0 | 5.0 | 0.0 | 0.0 | 0.0 | 0.0 | 5.025000e+07 | 4.150000e+09 | 30 | 4000.0 | 18500.0 | 2.000000e+07 | 1555374.0 | 3840429.0 | 0 | 3 |
| 74 | Moldova | 2.1291 | 3 | 0 | 0 | 1 | 0 | 2 | 0 | 0 | 341 | 9 | 52 | 11 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 3.000000e+07 | 6.549000e+09 | 7 | 0.0 | 16320.0 | 0.000000e+00 | 2014503.0 | 3437720.0 | 0 | 3 |
| 75 | Mongolia | 2.0299 | 9 | 0 | 0 | 3 | 0 | 6 | 0 | 470 | 750 | 0 | 300 | 130 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1.550000e+08 | 2.533000e+10 | 44 | 20000.0 | 25000.0 | 0.000000e+00 | 1818609.0 | 3103428.0 | 0 | 3 |
| 76 | Montenegro | 2.9941 | 9 | 0 | 0 | 0 | 0 | 9 | 0 | 0 | 26 | 0 | 12 | 18 | 18.0 | 0.0 | 0.0 | 0.0 | 2.0 | 6.500000e+07 | 2.516000e+09 | 5 | 0.0 | 4860.0 | 0.000000e+00 | 146191.0 | 614249.0 | 0 | 3 |
| 78 | Mozambique | 2.3364 | 16 | 8 | 0 | 1 | 1 | 6 | 2 | 100 | 335 | 0 | 260 | 12 | 8.0 | 0.0 | 0.0 | 0.0 | 0.0 | 2.450000e+08 | 1.091000e+10 | 98 | 0.0 | 22500.0 | 0.000000e+00 | 4629744.0 | 27233789.0 | 0 | 3 |
| 80 | Namibia | 3.2817 | 30 | 6 | 0 | 3 | 14 | 7 | 2 | 7 | 410 | 0 | 50 | 4 | 8.0 | 0.0 | 0.0 | 0.0 | 0.0 | 5.050000e+08 | 7.969000e+09 | 112 | 0.0 | 25000.0 | 0.000000e+00 | 582642.0 | 2533224.0 | 0 | 3 |
| 81 | Nepal | 2.9891 | 16 | 0 | 0 | 3 | 0 | 13 | 0 | 0 | 214 | 0 | 84 | 0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 2.130000e+08 | 5.849000e+09 | 47 | 0.0 | 20000.0 | 0.000000e+00 | 14739923.0 | 29717587.0 | 0 | 3 |
| 83 | New Zealand | 1.3684 | 48 | 0 | 0 | 7 | 13 | 22 | 0 | 0 | 200 | 0 | 24 | 0 | 11.0 | 0.0 | 0.0 | 0.0 | 2.0 | 4.300000e+09 | 9.162000e+10 | 123 | 31480.0 | 150000.0 | 5.690000e+07 | 2115989.0 | 4545627.0 | 0 | 3 |
| 84 | Nicaragua | 2.2747 | 19 | 0 | 0 | 5 | 1 | 14 | 0 | 104 | 265 | 0 | 654 | 163 | 30.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1.400000e+08 | 1.131000e+10 | 147 | 0.0 | 35000.0 | 0.000000e+00 | 3030436.0 | 6085213.0 | 0 | 3 |
| 85 | Niger | 2.0153 | 16 | 0 | 2 | 5 | 0 | 7 | 1 | 0 | 182 | 0 | 0 | 0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 3.250000e+08 | 3.728000e+09 | 30 | 11000.0 | 6500.0 | 1.500000e+08 | 6754519.0 | 19866231.0 | 0 | 3 |
| 86 | Nigeria | 0.6485 | 129 | 8 | 13 | 21 | 47 | 44 | 15 | 253 | 1789 | 25 | 339 | 36 | 75.0 | 0.0 | 0.0 | 0.0 | 0.0 | 2.155000e+09 | 4.096000e+10 | 54 | 1946000.0 | 275000.0 | 3.706000e+10 | 77108499.0 | 203452505.0 | 0 | 3 |
| 88 | North Macedonia | 3.1808 | 20 | 0 | 0 | 0 | 10 | 14 | 4 | 31 | 251 | 0 | 144 | 24 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1.081525e+08 | 8.790000e+09 | 10 | 0.0 | 18500.0 | 0.000000e+00 | 1053116.0 | 2118945.0 | 0 | 3 |
| 89 | Norway | 0.5277 | 150 | 59 | 15 | 4 | 32 | 47 | 0 | 52 | 730 | 80 | 0 | 12 | 62.0 | 0.0 | 6.0 | 0.0 | 4.0 | 7.179000e+09 | 6.423000e+11 | 95 | 1618000.0 | 260000.0 | 6.611000e+09 | 2170365.0 | 5372191.0 | 0 | 3 |
| 90 | Oman | 1.2514 | 131 | 29 | 10 | 9 | 46 | 42 | 0 | 117 | 761 | 39 | 144 | 12 | 16.0 | 0.0 | 0.0 | 0.0 | 0.0 | 8.686000e+09 | 4.627000e+10 | 132 | 970400.0 | 100000.0 | 5.373000e+09 | 1764529.0 | 3494116.0 | 0 | 3 |
| 92 | Panama | 3.6537 | 39 | 0 | 0 | 11 | 4 | 23 | 0 | 0 | 65 | 0 | 0 | 0 | 20.0 | 0.0 | 0.0 | 0.0 | 0.0 | 5.000000e+08 | 9.153000e+10 | 117 | 0.0 | 100000.0 | 0.000000e+00 | 1759698.0 | 3800644.0 | 0 | 3 |
| 93 | Paraguay | 2.1898 | 33 | 0 | 0 | 6 | 15 | 11 | 0 | 13 | 63 | 0 | 108 | 0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 2.500000e+08 | 1.770000e+10 | 799 | 0.0 | 30000.0 | 0.000000e+00 | 3372366.0 | 7025763.0 | 0 | 3 |
| 95 | Philippines | 0.7852 | 171 | 0 | 19 | 23 | 24 | 97 | 0 | 7 | 513 | 0 | 286 | 0 | 103.0 | 0.0 | 0.0 | 0.0 | 2.0 | 3.470000e+09 | 7.618000e+10 | 247 | 15000.0 | 320000.0 | 1.385000e+08 | 51887757.0 | 105893381.0 | 0 | 3 |
| 98 | Qatar | 1.6703 | 123 | 24 | 6 | 12 | 35 | 46 | 3 | 92 | 250 | 46 | 12 | 15 | 86.0 | 0.0 | 0.0 | 0.0 | 0.0 | 6.000000e+09 | 1.678000e+11 | 6 | 1500000.0 | 190000.0 | 2.524000e+10 | 612164.0 | 2363569.0 | 0 | 3 |
| 99 | Republic of the Congo | 2.9509 | 13 | 2 | 0 | 3 | 0 | 8 | 1 | 86 | 225 | 0 | 0 | 6 | 6.0 | 0.0 | 0.0 | 0.0 | 0.0 | 7.150000e+08 | 4.605000e+09 | 27 | 244200.0 | 185000.0 | 1.600000e+09 | 1938754.0 | 5062021.0 | 0 | 3 |
| 103 | Serbia | 0.9479 | 109 | 9 | 17 | 1 | 38 | 44 | 0 | 293 | 904 | 87 | 144 | 88 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 9.070000e+08 | 2.950000e+10 | 26 | 18740.0 | 75000.0 | 7.750000e+07 | 3468274.0 | 7078110.0 | 0 | 3 |
| 104 | Sierra Leone | 4.2063 | 5 | 0 | 0 | 0 | 0 | 5 | 2 | 0 | 13 | 0 | 0 | 0 | 10.0 | 0.0 | 0.0 | 0.0 | 0.0 | 7.550000e+07 | 1.615000e+09 | 8 | 0.0 | 9500.0 | 0.000000e+00 | 1432872.0 | 6312212.0 | 0 | 3 |
| 106 | Slovakia | 0.8466 | 47 | 10 | 0 | 7 | 8 | 21 | 0 | 20 | 661 | 16 | 9 | 25 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 2.121818e+09 | 7.504000e+10 | 35 | 200.0 | 82000.0 | 9.000000e+06 | 2776970.0 | 5445040.0 | 0 | 3 |
| 107 | Slovenia | 1.9496 | 38 | 0 | 0 | 3 | 23 | 16 | 0 | 44 | 269 | 0 | 63 | 0 | 2.0 | 0.0 | 0.0 | 0.0 | 0.0 | 5.810000e+08 | 4.630000e+10 | 16 | 5.0 | 55000.0 | 0.000000e+00 | 1002714.0 | 2102126.0 | 0 | 3 |
| 108 | Somalia | 4.6404 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 10 | 100 | 0 | 30 | 10 | 3.0 | 0.0 | 0.0 | 0.0 | 0.0 | 6.220000e+07 | 5.300000e+09 | 61 | 0.0 | 6200.0 | 0.000000e+00 | 2702167.0 | 11259029.0 | 0 | 3 |
| 111 | South Sudan | 2.3501 | 19 | 0 | 0 | 2 | 0 | 17 | 6 | 110 | 200 | 24 | 0 | 14 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 8.000000e+07 | 2.250000e+09 | 85 | 150200.0 | 60000.0 | 3.750000e+09 | 5245155.0 | 10204581.0 | 0 | 3 |
| 113 | Sri Lanka | 1.4661 | 77 | 0 | 0 | 15 | 6 | 54 | 9 | 202 | 570 | 0 | 209 | 22 | 40.0 | 0.0 | 0.0 | 0.0 | 0.0 | 2.500000e+09 | 5.172000e+10 | 19 | 0.0 | 90000.0 | 0.000000e+00 | 10927071.0 | 22576592.0 | 0 | 3 |
| 114 | Sudan | 1.3017 | 190 | 46 | 38 | 22 | 11 | 73 | 43 | 690 | 400 | 10 | 0 | 0 | 18.0 | 0.0 | 0.0 | 0.0 | 0.0 | 2.470000e+09 | 5.605000e+10 | 74 | 102300.0 | 96800.0 | 5.000000e+09 | 24061430.0 | 43120843.0 | 0 | 3 |
| 115 | Suriname | 4.6042 | 3 | 0 | 0 | 0 | 0 | 3 | 0 | 0 | 66 | 0 | 0 | 0 | 3.0 | 0.0 | 0.0 | 0.0 | 0.0 | 6.300000e+07 | 1.700000e+09 | 55 | 17000.0 | 15100.0 | 8.398000e+07 | 132740.0 | 597927.0 | 0 | 3 |
| 116 | Sweden | 0.5304 | 204 | 71 | 0 | 6 | 69 | 53 | 0 | 126 | 1036 | 88 | 0 | 0 | 63.0 | 0.0 | 5.0 | 0.0 | 0.0 | 6.326924e+09 | 9.399000e+11 | 231 | 0.0 | 320000.0 | 0.000000e+00 | 4116808.0 | 10040995.0 | 0 | 3 |
| 117 | Switzerland | 0.5259 | 169 | 54 | 0 | 18 | 54 | 42 | 0 | 326 | 1338 | 224 | 0 | 0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 5.000000e+09 | 1.664000e+12 | 63 | 0.0 | 260000.0 | 0.000000e+00 | 3632250.0 | 8292809.0 | 0 | 3 |
| 120 | Tajikistan | 1.8661 | 25 | 0 | 0 | 1 | 4 | 20 | 6 | 253 | 347 | 0 | 90 | 128 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1.600000e+09 | 5.750000e+09 | 24 | 180.0 | 20500.0 | 1.200000e+07 | 4095924.0 | 8604882.0 | 0 | 3 |
| 121 | Tanzania | 2.0651 | 34 | 14 | 0 | 6 | 8 | 6 | 0 | 156 | 70 | 0 | 12 | 0 | 19.0 | 0.0 | 0.0 | 0.0 | 0.0 | 2.230000e+08 | 1.766000e+10 | 166 | 0.0 | 46000.0 | 0.000000e+00 | 10258498.0 | 55451343.0 | 0 | 3 |
| 123 | Tunisia | 1.4619 | 147 | 12 | 0 | 14 | 29 | 92 | 0 | 181 | 878 | 20 | 165 | 0 | 50.0 | 0.0 | 0.0 | 0.0 | 0.0 | 5.500000e+08 | 3.019000e+10 | 29 | 49170.0 | 90500.0 | 4.250000e+08 | 5850224.0 | 11516189.0 | 0 | 3 |
| 125 | Turkmenistan | 1.3292 | 72 | 24 | 20 | 3 | 0 | 25 | 10 | 712 | 2000 | 68 | 269 | 116 | 4.0 | 0.0 | 0.0 | 0.0 | 0.0 | 2.000000e+08 | 5.394000e+08 | 26 | 230880.0 | 150000.0 | 6.000000e+08 | 2797493.0 | 5411012.0 | 0 | 3 |
| 126 | Uganda | 1.6176 | 48 | 10 | 0 | 2 | 10 | 26 | 5 | 371 | 1081 | 6 | 53 | 26 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 9.350000e+08 | 1.080000e+10 | 47 | 0.0 | 17500.0 | 2.500000e+09 | 14707350.0 | 40853749.0 | 0 | 3 |
| 131 | Uruguay | 1.8909 | 50 | 0 | 7 | 9 | 16 | 13 | 0 | 78 | 463 | 0 | 0 | 4 | 20.0 | 0.0 | 0.0 | 0.0 | 1.0 | 4.950000e+09 | 2.837000e+10 | 133 | 0.0 | 55600.0 | 0.000000e+00 | 1549878.0 | 3369299.0 | 0 | 3 |
| 132 | Uzbekistan | 0.8086 | 185 | 66 | 20 | 18 | 2 | 79 | 25 | 420 | 1215 | 137 | 0 | 98 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 9.750000e+08 | 1.690000e+10 | 53 | 46070.0 | 142000.0 | 5.940000e+08 | 15912566.0 | 30023709.0 | 0 | 3 |
| 135 | Yemen | 1.2412 | 169 | 77 | 0 | 8 | 21 | 61 | 14 | 620 | 615 | 20 | 85 | 150 | 30.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1.400000e+09 | 7.068000e+09 | 57 | 12260.0 | 145000.0 | 3.000000e+09 | 11266221.0 | 28667230.0 | 0 | 3 |
| 136 | Zambia | 1.6464 | 108 | 18 | 0 | 11 | 52 | 27 | 0 | 75 | 184 | 0 | 42 | 50 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 4.000000e+07 | 1.166000e+10 | 88 | 0.0 | 21000.0 | 0.000000e+00 | 6166905.0 | 16445079.0 | 0 | 3 |
| 137 | Zimbabwe | 1.7577 | 90 | 10 | 0 | 14 | 38 | 28 | 6 | 42 | 300 | 0 | 65 | 22 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1.000000e+08 | 9.357000e+09 | 196 | 0.0 | 19500.0 | 0.000000e+00 | 5584086.0 | 14030368.0 | 0 | 3 |